hostname >>/home/vmuser/xunjian/xj.log
df -lh >>/home/vmuser/xunjian/xj.log
top -b -n 1 | grep Cpu >>/home/vmuser/xunjian/xj.log
free -m >>/home/vmuser/xunjian/xj.log
用uptime命令查看当前负载情况(1分钟,5分钟,15分钟平均负载情况)
# uptime
15:43:59 up 186 days, 20:04, 1 user, load average: 0.01, 0.02, 0.00
"load average"意思分别是1分钟、5分钟、15分钟内系统的平均负荷。
(1) 主要观察"15分钟系统负荷",将它作为电脑正常运行的指标。
(2) 如果15分钟内,(系统负荷除以CPU核心数目之后的)平均负荷大于1.0,表明问题持续存在,不是暂时现象。
(3) 当系统负荷持续大于0.7,你必须开始调查了,问题出在哪里,防止情况恶化。
(4) 当系统负荷持续大于1.0,你必须动手寻找解决办法,把这个值降下来。
(5) 当系统负荷达到5.0,就表明你的系统有很严重的问题,长时间没有响应,或者接近死机了。
假设你的电脑只有1个CPU。如果你的电脑装了2个CPU,意味着电脑的处理能力翻了一倍,能够同时处理的进程数量也翻了一倍。
2个CPU表明系统负荷可以达到2.0,此时每个CPU都达到100%的工作量。推广开来,n个CPU的电脑,可接受的系统负荷最大为n.0。
2、查看服务器cpu的总核数
3、截取服务器1分钟、5分钟、15分钟的负载情况
load average: 0.01, 0.02, 0.00
4、查看截取15分钟的平均负载
# uptime | awk '{print $NF}'
5、编写系统负载监控的脚本文件:
[code]
#!/bin/bash
#使用uptime命令监控linux系统负载变化
#取系统当前时间(以追加的方式写入文件>>)
date >> /scripts/datetime-load.txt
#提取服务器1分钟、5分钟、15分钟的负载情况
uptime | awk '{print $8,$9,$10,$11,$12}' >> /scripts/load.txt
#逐行连接上面的时间和负载相关行数据(每次重新写入文件>)
paste /scripts/datetime-load.txt /scripts/load.txt > /scripts/load_day.txt
# chmod a+x /scripts/load-check.sh
6、编写系统负载结果文件邮件发送脚本:
#!/bin/bash
#把系统负载监控生成的load_day.txt文件通过邮件发送给用户
#提取本服务器的IP地址信息
IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`
#提取当前日期
today=`date -d "0 day" +%Y年%m月%d日`
#发送系统负载监控结果邮件
echo "这是$IP服务器$today的系统负载监控报告,请下载附件。" | mutt -s "$IP服务器$today的系统负载监控报告" -a /scripts/load_day.txt fuquanjun@xxx.com
# chmod a+x /