当前位置: 首页 > news >正文

一个人做网站的难度北京创意设计协会网站

一个人做网站的难度,北京创意设计协会网站,网上怎么查自己是不是团员,qq是由哪家公司开发的文章目录 前言增加守护进程1. 编写监控脚本2. 创建 systemd 服务文件3. 启动并启用服务4. 验证服务是否运行注意事项 如何修改守护进程1. 修改监控脚本2. 重新加载并重启服务3. 验证服务是否运行总结 如何设置一个日志文件来查看信息1. 修改监控脚本以记录日志方法一#xff1… 文章目录 前言增加守护进程1. 编写监控脚本2. 创建 systemd 服务文件3. 启动并启用服务4. 验证服务是否运行注意事项 如何修改守护进程1. 修改监控脚本2. 重新加载并重启服务3. 验证服务是否运行总结 如何设置一个日志文件来查看信息1. 修改监控脚本以记录日志方法一使用 logger 命令记录日志方法二将日志重定向到文件 2. 修改 systemd 服务文件如果使用日志文件3. 重新加载并重启服务4. 查看日志查看系统日志如果使用 logger 命令查看日志文件如果将日志重定向到文件 服务脚本含义[Unit] 部分[Service] 部分[Install] 部分 总结全文【直接用这个即可】1. 编写监控脚本2. 创建 systemd 服务文件3. 启动并启用服务4. 验证服务是否运行5. 使用 journalctl 查看日志 前言 内存溢出后服务器可能就打不开了死机了。所以设置个程序监测内存占用状态超出95%后直接关掉那个最占用内存的进程。 增加守护进程 在Ubuntu上设置一个守护进程来监控内存使用情况并在内存超过90%时终止内存占用最多的进程可以通过编写一个shell脚本和使用systemd来实现。以下是详细的步骤和代码示例 1. 编写监控脚本 创建一个脚本文件例如monitor_memory.sh其内容如下 我在/root中创建了。 #!/bin/bash# 设置内存阈值为95% MEMORY_THRESHOLD95while true; do# 获取总内存和已用内存TOTAL_MEM$(free | grep Mem | awk {print $2})USED_MEM$(free | grep Mem | awk {print $3})# 计算已用内存的百分比MEMORY_USAGE$(($USED_MEM * 100 / $TOTAL_MEM))# 如果内存使用超过阈值找到并终止占用内存最多的进程if [ $MEMORY_USAGE -gt $MEMORY_THRESHOLD ]; thenecho Memory usage is at $MEMORY_USAGE%, which is above the threshold of $MEMORY_THRESHOLD%.TOP_PROCESS_INFO$(ps -eo pid,comm,%mem,user --sort-%mem | head -n 2 | tail -n 1)TOP_PROCESS_PID$(echo $TOP_PROCESS_INFO | awk {print $1})TOP_PROCESS_USER$(echo $TOP_PROCESS_INFO | awk {print $4})TOP_PROCESS_MEM$(echo $TOP_PROCESS_INFO | awk {print $3})echo Killing process $TOP_PROCESS_PID, owned by $TOP_PROCESS_USER, which is using $TOP_PROCESS_MEM% of memory.kill -9 $TOP_PROCESS_PIDfi# 每隔60秒检查一次sleep 60 done 确保脚本具有可执行权限 chmod x monitor_memory.sh2. 创建 systemd 服务文件 在/etc/systemd/system/目录下创建一个服务文件例如memory_monitor.service其内容如下 [Unit] DescriptionMemory Monitor Service Afternetwork.target[Service] Typesimple ExecStart/root/monitor_memory.sh Restarton-failure[Install] WantedBymulti-user.target请将/path/to/your/monitor_memory.sh替换为实际的脚本路径。 3. 启动并启用服务 重新加载systemd启动并启用服务 sudo systemctl daemon-reload sudo systemctl start memory_monitor.service sudo systemctl enable memory_monitor.service4. 验证服务是否运行 使用以下命令检查服务状态 sudo systemctl status memory_monitor.service如果一切正常服务应该会显示为“active (running)”。 注意事项 这种方法会强制终止占用内存最多的进程可能导致数据丢失或服务中断。请谨慎使用。可根据需要调整脚本的检查频率和阈值。可以在脚本中添加日志记录以便后续分析。 通过上述步骤你就可以在Ubuntu上设置一个守护进程来监控内存使用情况并在内存超过95%时终止占用最多的进程。 如何修改守护进程 比如要将监控频率从每60秒一次改为每10秒一次同时更新和重启服务你需要进行以下修改和操作 1. 修改监控脚本 编辑之前创建的 monitor_memory.sh 脚本将 sleep 时间从 60 秒改为 10 秒 #!/bin/bash# 设置内存阈值为95% MEMORY_THRESHOLD95while true; do# 获取总内存和已用内存TOTAL_MEM$(free | grep Mem | awk {print $2})USED_MEM$(free | grep Mem | awk {print $3})# 计算已用内存的百分比MEMORY_USAGE$(($USED_MEM * 100 / $TOTAL_MEM))# 如果内存使用超过阈值找到并终止占用内存最多的进程if [ $MEMORY_USAGE -gt $MEMORY_THRESHOLD ]; thenecho Memory usage is at $MEMORY_USAGE%, which is above the threshold of $MEMORY_THRESHOLD%.TOP_PROCESS_INFO$(ps -eo pid,comm,%mem,user --sort-%mem | head -n 2 | tail -n 1)TOP_PROCESS_PID$(echo $TOP_PROCESS_INFO | awk {print $1})TOP_PROCESS_USER$(echo $TOP_PROCESS_INFO | awk {print $4})TOP_PROCESS_MEM$(echo $TOP_PROCESS_INFO | awk {print $3})echo Killing process $TOP_PROCESS_PID, owned by $TOP_PROCESS_USER, which is using $TOP_PROCESS_MEM% of memory.kill -9 $TOP_PROCESS_PIDfi# 每隔10秒检查一次sleep 10 done保存并关闭文件。 2. 重新加载并重启服务 执行以下命令重新加载 systemd然后重启并启用服务 sudo systemctl daemon-reload sudo systemctl restart memory_monitor.service3. 验证服务是否运行 使用以下命令检查服务状态 sudo systemctl status memory_monitor.service如果服务正常运行它将显示为“active (running)”。 总结 通过以上步骤你将监控频率改为每10秒检查一次并重启了服务。这样守护进程将每10秒检查一次内存使用情况并在内存超过阈值时终止占用最多的进程。 如何设置一个日志文件来查看信息 为了查看脚本中 echo 命令打印的日志信息可以将其输出重定向到一个日志文件。可以在 monitor_memory.sh 脚本中添加日志记录并确保 systemd 服务配置正确处理日志输出。以下是详细步骤 1. 修改监控脚本以记录日志 编辑 monitor_memory.sh 脚本添加日志记录功能。可以使用 logger 命令将信息写入系统日志也可以将日志输出重定向到一个专用的日志文件。以下是两种方法 方法一使用 logger 命令记录日志 将 echo 命令替换为 logger 命令将信息写入系统日志 #!/bin/bash# 设置内存阈值为95% MEMORY_THRESHOLD95while true; do# 获取总内存和已用内存TOTAL_MEM$(free | grep Mem | awk {print $2})USED_MEM$(free | grep Mem | awk {print $3})# 计算已用内存的百分比MEMORY_USAGE$(($USED_MEM * 100 / $TOTAL_MEM))# 如果内存使用超过阈值找到并终止占用内存最多的进程if [ $MEMORY_USAGE -gt $MEMORY_THRESHOLD ]; thenlogger Memory usage is at $MEMORY_USAGE%, which is above the threshold of $MEMORY_THRESHOLD%.TOP_PROCESS_INFO$(ps -eo pid,comm,%mem,user --sort-%mem | head -n 2 | tail -n 1)TOP_PROCESS_PID$(echo $TOP_PROCESS_INFO | awk {print $1})TOP_PROCESS_USER$(echo $TOP_PROCESS_INFO | awk {print $4})TOP_PROCESS_MEM$(echo $TOP_PROCESS_INFO | awk {print $3})logger Killing process $TOP_PROCESS_PID, owned by $TOP_PROCESS_USER, which is using $TOP_PROCESS_MEM% of memory.kill -9 $TOP_PROCESS_PIDfi# 每隔10秒检查一次sleep 10 done方法二将日志重定向到文件 将所有输出重定向到一个日志文件例如 /var/log/memory_monitor.log #!/bin/bash# 设置内存阈值为95% MEMORY_THRESHOLD95 LOG_FILE/var/log/memory_monitor.logwhile true; do# 获取总内存和已用内存TOTAL_MEM$(free | grep Mem | awk {print $2})USED_MEM$(free | grep Mem | awk {print $3})# 计算已用内存的百分比MEMORY_USAGE$(($USED_MEM * 100 / $TOTAL_MEM))# 如果内存使用超过阈值找到并终止占用内存最多的进程if [ $MEMORY_USAGE -gt $MEMORY_THRESHOLD ]; thenecho $(date): Memory usage is at $MEMORY_USAGE%, which is above the threshold of $MEMORY_THRESHOLD%. $LOG_FILETOP_PROCESS_INFO$(ps -eo pid,comm,%mem,user --sort-%mem | head -n 2 | tail -n 1)TOP_PROCESS_PID$(echo $TOP_PROCESS_INFO | awk {print $1})TOP_PROCESS_USER$(echo $TOP_PROCESS_INFO | awk {print $4})TOP_PROCESS_MEM$(echo $TOP_PROCESS_INFO | awk {print $3})echo $(date): Killing process $TOP_PROCESS_PID, owned by $TOP_PROCESS_USER, which is using $TOP_PROCESS_MEM% of memory. $LOG_FILEkill -9 $TOP_PROCESS_PIDfi# 每隔10秒检查一次sleep 10 done确保日志文件具有写入权限 sudo touch /var/log/memory_monitor.log sudo chmod 666 /var/log/memory_monitor.log2. 修改 systemd 服务文件如果使用日志文件 如果选择将日志输出重定向到文件则需要确保 systemd 服务能够正确处理这些输出。在 /etc/systemd/system/memory_monitor.service 文件中添加 StandardOutput 和 StandardError 选项 [Unit] DescriptionMemory Monitor Service Afternetwork.target[Service] Typesimple ExecStart/root/monitor_memory.sh StandardOutputappend:/var/log/memory_monitor.log StandardErrorappend:/var/log/memory_monitor.log Restarton-failure[Install] WantedBymulti-user.target3. 重新加载并重启服务 执行以下命令重新加载 systemd然后重启并启用服务 sudo systemctl daemon-reload sudo systemctl restart memory_monitor.service4. 查看日志 根据你选择的日志记录方法查看日志信息 查看系统日志如果使用 logger 命令 使用 journalctl 查看日志 sudo journalctl -u memory_monitor.service查看日志文件如果将日志重定向到文件 使用 cat 或 tail 命令查看日志文件 cat /var/log/memory_monitor.log # 或 tail -f /var/log/memory_monitor.log通过以上步骤你可以在监控脚本中记录日志并使用 systemd 服务来管理和查看这些日志。 服务脚本含义 这个 systemd 服务单元文件定义了一个名为 memory_monitor.service 的服务该服务运行一个用于监控内存使用情况的脚本。以下是各部分的详细解释 [Unit] 部分 DescriptionMemory Monitor Service描述该服务的功能这里是“内存监控服务”。Afternetwork.target指定该服务应该在 network.target 之后启动。这意味着网络服务启动后才会启动该服务。 [Service] 部分 Typesimple指定服务类型为 simple表示 ExecStart 选项启动的进程不会派生其他子进程且不会进入后台。systemd 会认为该服务的主进程就是 ExecStart 启动的进程。ExecStart/root/monitor_memory.sh指定服务启动时执行的命令即运行 /root/monitor_memory.sh 脚本。StandardOutputappend:/var/log/memory_monitor.log将标准输出即脚本中 echo 或其他标准输出的内容追加到 /var/log/memory_monitor.log 文件中。StandardErrorappend:/var/log/memory_monitor.log将标准错误输出即脚本中错误信息的输出追加到 /var/log/memory_monitor.log 文件中。Restarton-failure如果服务因为非零退出状态失败则自动重启服务。这有助于确保服务在意外故障时重新启动。 [Install] 部分 WantedBymulti-user.target指定该服务应该在多用户目标下启动。multi-user.target 是一个常用的系统运行级别类似于传统的运行级别 3多用户模式不带图形界面。 总结全文【直接用这个即可】 在Ubuntu上设置一个守护进程来监控内存使用情况并在内存超过90%时终止内存占用最多的进程可以通过编写一个shell脚本和使用systemd来实现。以下是详细的步骤和代码示例 1. 编写监控脚本 创建一个脚本文件例如monitor_memory.sh其内容如下 我在vim /root/monitor_memory.sh中创建了。 #!/bin/bash# 设置内存阈值为95% MEMORY_THRESHOLD95while true; do# 获取总内存和已用内存TOTAL_MEM$(free | grep Mem | awk {print $2})USED_MEM$(free | grep Mem | awk {print $3})# 计算已用内存的百分比MEMORY_USAGE$(($USED_MEM * 100 / $TOTAL_MEM))# 如果内存使用超过阈值找到并终止占用内存最多的进程if [ $MEMORY_USAGE -gt $MEMORY_THRESHOLD ]; thenlogger Memory usage is at $MEMORY_USAGE%, which is above the threshold of $MEMORY_THRESHOLD%.TOP_PROCESS_INFO$(ps -eo pid,comm,%mem,user --sort-%mem | head -n 2 | tail -n 1)TOP_PROCESS_PID$(echo $TOP_PROCESS_INFO | awk {print $1})TOP_PROCESS_USER$(echo $TOP_PROCESS_INFO | awk {print $4})TOP_PROCESS_MEM$(echo $TOP_PROCESS_INFO | awk {print $3})logger Killing process $TOP_PROCESS_PID, owned by $TOP_PROCESS_USER, which is using $TOP_PROCESS_MEM% of memory.kill -9 $TOP_PROCESS_PIDfi# 每隔10秒检查一次sleep 10 done 确保脚本具有可执行权限 chmod x monitor_memory.sh2. 创建 systemd 服务文件 在/etc/systemd/system/目录下创建一个服务文件例如memory_monitor.service其内容如下 [Unit] DescriptionMemory Monitor Service Afternetwork.target[Service] Typesimple ExecStart/root/monitor_memory.sh StandardOutputappend:/var/log/memory_monitor.log StandardErrorappend:/var/log/memory_monitor.log Restarton-failure[Install] WantedBymulti-user.target请将/root/monitor_memory.sh替换为实际的脚本路径。 3. 启动并启用服务 重新加载systemd启动并启用服务 sudo systemctl daemon-reload sudo systemctl start memory_monitor.service sudo systemctl enable memory_monitor.service4. 验证服务是否运行 使用以下命令检查服务状态 sudo systemctl status memory_monitor.service如果一切正常服务应该会显示为“active (running)”。 5. 使用 journalctl 查看日志 sudo journalctl -u memory_monitor.service
http://www.hkea.cn/news/14436232/

相关文章:

  • 泰州网页网站制作wordpress本发安装
  • 装修设计培训机构seo1888网站建设
  • 微信引流神器手机电影网站怎么做网站建设与维护高职
  • 哪个网站可以做代练网店美工的技能要求
  • jsp企业网站售电公司注册条件及要求
  • 做网站服务器收费吗企业网站源码程序多少钱?
  • 不花钱建网站电子商务网站建设 精品课程
  • 建设网站挣钱哪里建网站便宜
  • 做商城网站要请程序员吗开发直播软件需要多少钱
  • 深圳网站程序开发ios企业开发者账号
  • 网站关键字优化技巧奢华网站模板
  • 做网站怎么连数据库打开wordpress标题显示
  • 手机网站建设方案doc电商网站有哪些功能模块
  • 会员系统网站制作网站设计沟通
  • 沈阳专业网站建设东莞企慕网站建设
  • 做淘宝客网站用什么程序最好行业类网站模板
  • 西宁网站开发公司电商网站开发 思维导图
  • 程序员网站需要多少钱wordpress force ssl
  • 移动端网站怎么布局做电脑网站宽度
  • 做网站和做微商城有什么区别邢台中北世纪城网站兼职
  • 衡阳网站建设网站最新新闻事件今天报道
  • 展示型网站有哪些内容哪里可以做公司网站备案
  • 手机影视网站制作杭州专业seo公司
  • 高端的网站企业简介画册
  • 做机器人的网站建设鲜花网站前的市场分析
  • 大兴模版网站建设哪家好制作视频模板的软件
  • 全国蔬莱网站建设新北网站建设
  • 广西长长路桥建设有限公司网站seo优化内容
  • 企业做网站的目的怎么把做的网站放到腾讯云里面
  • 公司做网站费用记到哪个科目虚拟主机管理系统