linuxcpu监控脚本
① linux运用shell脚本监控所有进程占用cpu和内存到指定值就报警输出内容
命名行下输入python
然后写个死循环:
while True:
print "i want to exaust cpu"
试试呗,水平有限。
应该会提高,但不知道能提到多少。
② 在linux 下怎么查看服务器的cpu和内存的硬件信息
可以按照如下方式进行操作:
一、查看cpu总个数方法:
1、首先执行top命令,如下图中内容所表示。
2、在top命令的显示界面,按数字键1,即可查看到当前系统中的总cpu数,如下图中内容所表示。
二、查看总内存的方法:
1、free命令主要用于显示内存数量,如下图中内容所表示。
2、一般使用free命令的-h参数,更人性化的显示,如下图中内容所表示。
(2)linuxcpu监控脚本扩展阅读
linux通用命令:
1、date:
2、stty-a:可以查看或者打印控制字符(Ctrl-C,Ctrl-D,Ctrl-Z等)
3、passwd:(用passwd-h查看)
4、logout,login:登录shell的登录和注销命令
5、pwd:printworkingdirectory
6、more,less,headtail:显示或部分显示文件内容.
7、lp/lpstat/cancel,lpr/lpq/lprm:打印文件.
8、更改文件权限:chmo+x...
9、删除非空目录:rm-frdir
10、拷贝目录:cp-Rdir
③ 如何利用shell脚本监控服务器温度
统:centos 5.5 1.监控服务器状态脚本内容:
01 #!/bin/bash 02
IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`
03
04 cpu_num=`grep -c 'model name' /proc/cpuinfo` 05
06 load_15=`uptime | awk '{print $NF}'` 07 08
average_load=`echo "scale=2;a=$load_15/$cpu_num;if(length(a)==scale(a)) print 0;print a" | bc`
09
10 average_int=`echo $average_load | cut -f 1 -d "."` 11
12 load_warn=0.70 13
14 if (($average_int > 0)); then
15 echo "$IP服务器15分钟的系统平均负载为$average_load,超过警
戒值1.0,请立即处理!!!" | mailx -s "$IP 服务器系统负载严重告警!!!
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
" [email protected] 16 else 17
18 load_now=`expr $average_load \> $load_warn` 19
20 if (($load_now == 1)); then
21 echo "$IP服务器15分钟的系统平均负载达到 $average_load,超过警戒值0.70,请及时处理。" | mailx -s "$IP 服务器系统负载告警
" [email protected] 22 fi 23 24 fi 25
26 cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f 1 -d "."` 27
28 if (($cpu_idle < 20)); then
29
echo "$IP服务器cpu剩余$cpu_idle%,使用率已经超过80%,请及时
处理。" | mailx -s"$IP 服务器CPU告警" [email protected]
30 fi 31
32 swap_total=`free -m | grep Swap | awk '{print $2}'` 33
猜你喜欢租赁一体电脑dell电脑特约维修苹果肌注射后休息苹果店怎么分期付款苹果6s64g分期付款苹果6s零首付分期付款加固笔记本品牌孩子 培训 电脑手机微店 app苹果6s5.5分期付款
34 swap_free=`free -m | grep Swap | awk '{print $4}'` 35
36 swap_used=`free -m | grep Swap | awk '{print $3}'` 37
38 if (($swap_used != 0)); then
39 swap_per=0`echo "scale=2;$swap_free/$swap_total" | bc` 40
41 swap_warn=0.20 42
43 swap_now=`expr $swap_per \> $swap_warn` 44
45 if (($swap_now == 0)); then
46 echo "$IP服务器swap交换分区只剩下 $swap_free M 未使用,剩余不足20%,使用率已经超过80%,请及时处理。" | mailx -s "$IP 服务器
内存告警" [email protected] 47 fi 48 49 fi 50
51
#disk_sda=`df -h | grep /dev/sda3 | awk '{print $5}' | cut -f 1 -d "%"`
52 disk_sda=`df -Ph |grep /dev/mapper/VolGroup00-LogVol00|awk '{print
④ linux下如何实时监控每个进程的CPU和内存使用量,请有关有经验的人说说啊给分。
TOP命令,不能只监控进程的CPU和内存的使用量,并且也不能看到使用量总和,还是用脚本吧,类型这样:
ps -aux|grep java|awk '{print $6}'|awk 'BEGIN{SUM0=0}{SUM0+=$1} END{print SUM0/1024}'
就可以,CPU同样。
⑤ linux中如何写个脚本让系统自动定时记录cup和内存使用率
#! /bin/bash
echo -n "PidName " > /root/script/pid.f
echo
"MeMery "穗闹 >> /root/script/pid.f
PIDPATH=/proc/
TOTLE=0
cd
$PIDPATH
DOC=`ls`
for DOCNAME in $DOC
do
if [ -d
$DOCNAME ]; then
cd $DOCNAME
if [ -f status
];then
MEMERY=`grep VmRSS status | awk -F':' '{print $2}'乎颤 | awk
'{print $1}'`
PIDNAME=`grep Name status | awk -F':' '{print
$2}'`
if [ $MEMERY ]; then
echo -n $PIDNAME
>> /猜顷罩root/script/pid.f
echo -n " " >>
/root/script/pid.f
echo $MEMERY >>
/root/script/pid.f
TOTLE=`expr $TOTLE +
$MEMERY`
cd ..
else
cd
..
fi
else
cd
..
fi
fi
done
TOTLE=`expr $TOTLE /
1024`
echo "TOTLE USERD: $TOTLE MB" >> /root/script/pid.f
cat
/root/script/pid.f
⑥ linux写一个查看指定进程占用CPU和内存情况的脚本
1、查看物理CPU数
[root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
1
2、查看逻辑CPU数
[root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep "processor"|wc -l
4
3、查看CPU几核(即核数)
[root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep "cores"|uniq
cpu cores : 4
4、查看CPU主频
[root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep MHz|uniq
cpu MHz : 2499.982
5、前操作系统内核信息
[root@MysqlCluster01 ~]# uname -a
Linux MysqlCluster01 2.6.32-431.20.3.el6.x86_64 #1 SMP Thu Jun 19 21:14:45 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
6、前操作系统发行版信息
[root@MysqlCluster01 ~]# cat /etc/issue
CentOS release 6.4 (Final)
Kernel \r on an \m
7、内存使用情况
[root@MysqlCluster01 ~]# free -m
total used free shared buffers cached
Mem: 7863 2738 5125 0 141 835
-/+ buffers/cache: 1761 6102
Swap: 3967 0 3967
⑦ linux下如何监听进程
一、supervise
Supervise是daemontools的一个工具,可以用来监控管理unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程序。
使用:
mkdir test
cd test
vim run 写入希望执行的操作
supervise test (注意这里是的参数是run文件上层的文件夹,改变run的为可执行 chmod +x run)
二、monit
monit是一个小型的开放源码工具来管理和监控Unix系统。Monit可以自动维护进程,及时避免进程异常退出等产生的问题。
系统: monit可以监控问题的发生,包括进程状态、系统cpu负载、内存占用情况等,例如当apache服务的cpu负载以及内存闸弄情况过高时候,它会重启apache服务。
进程: monit可以监控守护进程,包括系统进程。例如当某个进行down掉,它会自动恢复重启该进程。
文件系统:Monit可以监控本地文件、目录、文件系统的变化,包括时间戳、校验值、大小的变化。例如,可以监控文件sha1以及md5的值,来监控文件是否发生变化。
网络:monit可以监控网络连接,支持TCP、UDP、Unix domain sockets以及HTTP、SMTP等。
定时脚本:monit可以用来定时测试程序和脚本,获取程序输出结果,进而判断是否成功或其他情况。
安装:
sudo apt-get install monit
编辑配置:
sudo vim /etc/monit/monitrc
启动、停止、重启:
sudo /etc/init.d/monit start
sudo /etc/init.d/monit stop
sudo /etc/init.d/monit restart
设置页面监控状态:
set httpd port 2812 and
allow 0.0.0.0/0.0.0.0
allow localhost
增加监控:
需要注意的是,这里需要添加start和stop,缺一个都是不行的
1.根据程序名称来监控
check process test with MATCHING test.py
start program = "/home/yxd/test.py"
stop program = "xxxxx"
2.根据pid监控
check process apache with pidfile /var/run/httpd.pid
start program = "/etc/init.d/rcWebServer.sh start https"
stop program = "/etc/init.d/rcWebServer.sh stop https"
if changed pid then aler
参考:用monit监控系统关键进程
supervisord
Supervisor是一个C/S系统,它可以在类unix操作系统让用户来监视和控制后台服务进程的数量。它是由python编写的,常用于进程异常退出的重启保护。
安装:
pip install supervisor
查看配置文件:
echo_supervisord_conf
从该命令的结果中,可以看到各个模块的配置信息。
创建配置文件:
echo_supervisord_conf > /etc/supervisord.conf
配置应用:
[program:test]
command=python /root/test_supervisor.py
process_name=%(program_name)s
stdout_logfile=/root/test.log
stderr_logfile=/root/test.log
保存,启动:
/usr/bin/supervisord -c /etc/supervisord.conf
⑧ 如何做一个linux查看cpu使用率的脚本
Linux性能监控工具 - Nmon安装及简介
tar.gz安装包安装方式:
1)用root用户登录到系统中;
2)建目录:#mkdir /nmon,作为Nmon的安装目录;
3)把nmon_linux_14g.tar.gz用ftp上传到/nmon,或者通过其他介质拷贝到/nmon目录中;
4)进入./nmon目录下,cd ./nmon;
5)解压缩上传的压缩包,tar -xf nmon_linux_14g.tar.gz;
6)执行以下命令进行安装:
6.1) cp nmon_linux_x86_64 nmon;
6.2) cp nmon /bin/nmon
6.3) cp nmon /usr/bin/nmon
6.4) cp nmon /usr/local/bin/nmon
7)此时安装目录下回出现nmon文件,执行授权命令:#chmod +x nmon,完成安装。
【简介】:
nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。
nmon所记录的数据包含以下一些方面(也是我们在寻找问题过程中所关注的资源点):
cpu占用率
内存使用情况
磁盘I/O速度、传输和读写比率
文件系统的使用率
网络I/O速度、传输和读写比率、错误统计率与传输包的大小
消耗资源最多的进程
计算机详细信息和资源
页面空间和页面I/O速度
用户自定义的磁盘组
网络文件系统
另外在AIX操作系统上,nmon还能监控到其他的一些信息,如异步I/O等。