怎么使用Linuxdos命令查看cpu使用率率

- 最好的系统光盘下载网站!
当前位置: >
> 详细页面
怎么使用Linux命令查看CPU使用率
来源:系统之家
作者:qipeng
  在Linux系统操作中,有时需要查看cpu的使用率,这就需要用到Linux命令了,Linux查看cpu使用率的命令主要有4个,即top、vmstat、mpstat和prstat命令,一起来了解下吧。
  使用权限:所有使用者
  使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
  说明:即时显示process的动态
  d :改变显示的更新速度,或是在交谈式指令列( interactive command)按s
  q :没有任何延迟的显示速度,如果使用者是有superuser的权限,则top将会以最高的优先序执行
  c :切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S :累积模式,会将己完成或消失的子行程( dead child process )的CPU time累积起来
  s :安全模式,将交谈式指令取消,避免潜在的危机
  i :不显示任何闲置(idle)或无用(zombie)的行程
  n :更新的次数,完成后将会退出top
  b :批次档模式,搭配&n&参数一起使用,可以用来将top的结果输出到档案内
  范例:
  显示更新十次后退出;
  top -n 10
  使用者将不能利用交谈式指令来对行程下命令:
  top -s
  将更新显示二次的结果输入到名称为top.log的档案里:
  top -n 2 -b 《 top.log
  另附一个命令简介linux traceroutewindows tracert两个命令相当,跟踪网络路由
  2.vmstat
  正如我们之前讨论的任何系统的性能比较都是基于基线的,并且监控CPU的性能就是以上3点,运行队列、CPU使用率和上下文切换。以下是一些对于CPU很普遍的性能要求:
  1.对于每一个CPU来说运行队列不要超过3,例如,如果是双核CPU就不要超过6;
  2.如果CPU在满负荷运行,应该符合下列分布,
  a) User Time:65%~70%
  b) System Time:30%~35%
  c) Idle:0%~5%
  3. mpstat
  对于上下文切换要结合CPU使用率来看,如果CPU使用满足上述分布,大量的上下文切换也是可以接受的。
  常用的监视工具有:vmstat, top,dstat和mpstat.
  # vmstat 1
  procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
  r b swpd free buff cache si so bi bo in cs us sy id wa
  0 0 00
0 0 5 26 7 14 4 1 95 0
  0 0 00
  0 0 00
  r表示运行队列的大小,
  b表示由于IO等待而block的线程数量,
  in表示中断的数量,
  cs表示上下文切换的数量,
  us表示用户CPU时间,
  sys表示系统CPU时间,
  wa表示由于IO等待而是CPU处于idle状态的时间,
  id表示CPU处于idle状态的总时间。
  dstat可以给出每一个设备产生的中断数:
  # dstat -cip 1
  ----total-cpu-usage---- ----interrupts--- ---procs---
  usr sys idl wai hiq siq| 15 169 185 |run blk new
  6 1 91 2 0 0| 12 0 13 | 0 0 0
  1 0 99 0 0 0| 0 0 6 | 0 0 0
  0 0 100 0 0 0| 18 0 2 | 0 0 0
  0 0 100 0 0 0| 0 0 3 | 0 0 0
  我们可以看到这里有3个设备号15,169和185.设备名和设备号的关系我们可以参考文件/proc/interrupts,这里185代表网卡eth1.
栏目热门教程
人气教程排行
热门系统下载
本站发布的系统与软件仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件!如侵犯到您的权益,请及时通知我们,我们会及时处理。
Copyright&2011 系统之家(www.xitongzhijia.net) 版权所有 闽ICP备号-1怎么使用Linux命令查看CPU使用率
下面这个怎么使用Linux命令查看CPU使用率教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!
在Linux系统操作中,有时需要查看cpu的使用率,这就需要用到了,Linux查看cpu使用率的命令主要有4个,即top、vmstat、mpstat和prstat命令,一起来了解下吧。1.top使用权限:所有使用者使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]说明:即时显示process的动态d :改变显示的更新速度,或是在交谈式指令列( interactive command)按sq :没有任何延迟的显示速度,如果使用者是有superuser的权限,则top将会以最高的优先序执行c :切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S :累积模式,会将己完成或消失的子行程( dead child process )的CPU time累积起来s :,将交谈式指令取消,避免潜在的危机i :不显示任何闲置(idle)或无用(zombie)的行程n :更新的次数,完成后将会退出topb :批次档模式,n参数一起使用,可以用来将top的结果输出到档案内范例:显示更新十次后退出;top -n 10使用者将不能利用交谈式指令来对行程下命令:top -s将更新显示二次的结果输入到名称为top.log的档案里:top -n 2 -b 《 top.log另附一个命令简介linux traceroute tracert两个命令相当,跟踪路由2.vmstat正如我们之前讨论的任何系统的性能比较都是基于基线的,并且监控CPU的性能就是以上3点,运行队列、CPU使用率和上下文切换。以下是一些对于CPU很普遍的性能要求:1.对于每一个CPU来说运行队列不要超过3,例如,如果是双核CPU就不要超过6;2.如果CPU在满负荷运行,应该符合下列分布,a) User Time:65%~70%b) System Time:30%~35%c) Idle:0%~5%3. mpstat对于上下文切换要结合CPU使用率来看,如果CPU使用满足上述分布,大量的上下文切换也是可以接受的。常用的监视工具有:vmstat, top,dstat和mpstat.# vmstat 1procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----r b swpd free buff cache si so bi bo in cs us sy id wa0 0 00
0 0 5 26 7 14 4 1 95 00 0 00
1 98 00 0 00
1 98 0r表示运行队列的大小,b表示由于IO等待而block的线程数量,in表示中断的数量,cs表示上下文切换的数量,us表示用户CPU时间,sys表示系统CPU时间,wa表示由于IO等待而是CPU处于idle状态的时间,id表示CPU处于idle状态的总时间。dstat可以给出每一个设备产生的中断数:# dstat -cip 1----total-cpu-usage---- ----interrupts--- ---procs---usr sys idl wai hiq siq| 15 169 185 |run blk new6 1 91 2 0 0| 12 0 13 | 0 0 01 0 99 0 0 0| 0 0 6 | 0 0 00 0 100 0 0 0| 18 0 2 | 0 0 00 0 100 0 0 0| 0 0 3 | 0 0 0我们可以看到这里有3个设备号15,169和185.设备名和设备号的关系我们可以参考/proc/interrupts,这里185代表eth1.# cat /proc/interruptsCPU00:
IO-APIC-edge timer6: 5 IO-APIC-edge floppy7: 0 IO-APIC-edge parport08: 1 IO-APIC-edge rtc9: 1 IO-APIC-level acpi14: 6011913 IO-APIC-edge ide015:
IO-APIC-edge ide1169: 26 IO-APIC-level Intel 82801BA-ICH2185:
IO-APIC-level eth1193: 0 IO-APIC-level uhci_hcd:usb1mpstat可以显示每个CPU的运行状况,比如系统有4个CPU。我们可以看到:# mpstat &P ALL 1Linux 2.4.21-20.ELsmp (localhost.localdomain) 05/23/200605:17:31 PM CPU %user %nice %system %idle intr/s05:17:32 PM all 0.00 0.00 3.19 96.53 13.2705:17:32 PM 0 0.00 0.00 0.00 100.00 0.0005:17:32 PM 1 1.12 0.00 12.73 86.15 13.2705:17:32 PM 2 0.00 0.00 0.00 100.00 0.0005:17:32 PM 3 0.00 0.00 0.00 100.00 0.00总结的说,CPU性能监控包含以下方面:检查系统的运行队列,确保每一个CPU的运行队列不大于3.确保CPU使用分布满足70/30原则(用户70%,系统30%)。如果系统时间过长,可能是因为频繁的调度和改变优先级。CPU Bound进程总是会被惩罚(降低优先级)而IO Bound进程总会被奖励(提高优先级)。4.prstat命令要显示系统上当前运行的进程和项目的各种统计信息,请使用带有-J选项的prstat命令:%prstat -JPID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP21634 jtd K cpu0 44 0 0:00.00 0.3% prstat/1324 root 29M 75M sleep 59 0 0:08.27 0.2% Xsun/115497 jtd 48M 41M sleep 49 0 0:08.26 0.1% adeptedit/1328 root K sleep 58 0 0:00.00 0.0% mibiisa/111979 jtd K sleep 49 0 0:00.00 0.0% csh/11977 jtd K sleep 49 0 0:00.00 0.0% dtterm/1192 root K sleep 58 0 0:00.36 0.0% automountd/51845 jtd 24M 22M sleep 49 0 0:00.29 0.0% dtmail/111009 jtd K sleep 49 0 0:00.59 0.0% dtwm/8114 root K sleep 58 0 0:01.16 0.0% in.routed/1180 daemon K sleep 58 0 0:00.00 0.0% statd/4145 root K sleep 58 0 0:00.00 0.0% ypbind/1181 root K sleep 51 0 0:00.00 0.0% lockd/1173 root K sleep 58 0 0:00.00 0.0% inetd/1135 root K sleep 0 0 0:00.00 0.0% keyserv/4PROJID NPROC SIZE RSS MEMORY TIME CPU PROJECT10 52 400M 271M 68% 0:11.45 0.4% booksite0 35 113M 129M 32% 0:10.46 0.2% systemTotal: 87 processes, 205 lwps, load averages: 0.05, 0.02, 0.02要显示系统上当前运行的进程和任务的各种统计信息,请使用带有-T选项的prstat命令:%prstat -TPID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP23023 root 26M 20M sleep 59 0 0:03:18 0.6% Xsun/123476 jtd 51M 45M sleep 49 0 0:04:31 0.5% adeptedit/123432 jtd K sleep 59 0 0:00:00 0.1% dtterm/128959 jtd 26M 18M sleep 49 0 0:00:18 0.0% .netscape.bin/123116 jtd K sleep 59 0 0:00:27 0.0% dtwm/529010 jtd K cpu0 59 0 0:00:00 0.0% prstat/1200 root K sleep 59 0 0:00:00 0.0% lpsched/1161 root K sleep 59 0 0:00:00 0.0% lockd/2170 root K sleep 59 0 0:03:10 0.0% automountd/3132 root K sleep 59 0 0:00:00 0.0% ypbind/1162 daemon K sleep 59 0 0:00:00 0.0% statd/2146 root K sleep 59 0 0:00:00 0.0% inetd/1122 root K sleep 59 0 0:00:00 0.0% keyserv/2119 root K sleep 59 0 0:00:02 0.0% rpcbind/1104 root K sleep 59 0 0:00:03 0.0% in.rdisc/1TASKID NPROC SIZE RSS MEMORY TIME CPU PROJECT222 30 229M 161M 44% 0:05:54 0.6% group.staff223 1 26M 20M 5.3% 0:03:18 0.6% group.staff12 1 61M 33M 8.9% 0:00:31 0.0% group.staff1 33 85M 53M 14% 0:03:33 0.0% systemTotal: 65 processes, 154 lwps, load averages: 0.04, 0.05, 0.06注&-J和-T选项不能一起使用。上面就是Linux下查看CPU使用率的命令介绍了,使用这些命令可以详细的看到目前cpu的使用情况,且四个命令所显示的cpu使用率的效果有点区别,需根据个人要求来选择使用。& 搜索“图老师”或者“tulaoshi_com”加关注,每天最新的美食、、、美妆、、手工DIY等教程让你一手全掌握。推荐关注!【扫描下图可直接关注】
来源:/n/8096.html
点击查看更多与《》相关的文章>>
今天图老师小编要跟大家分享Linux如何使用vi/vim命令,精心挑选的过程简单易学,喜欢的朋友一起来学习吧!
在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享Linux如何安装使用pidstat命令,希望可以对大家能有小小的帮助。
下面图老师小编跟大家分享一个简单易学的Linux中如何使用whereis命令快速查找文件教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!
有了下面这个如何在Linux中使用test命令教程,不懂如何在Linux中使用test命令的也能装懂了,赶紧get起来装逼一下吧!
最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。
想要天天向上,就要懂得享受学习。图老师为大家推荐Linux下如何使用ftp命令,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!
热门搜索:
PS图片处理
梦幻光晕效果
电脑网络经常掉线怎么办
Excel教程 如何在Excel里面设置不可修改单元格
怎么取消Windows系统密码自动登入
婴儿推车简笔画实际来说难度不大,婴儿车由推手座椅及支架滑轮部分组成。今天来学习绘画的是一款复古式的婴儿推车。我们接下来将通过婴儿车简笔画图片教程来学习婴儿车简笔画的画法。
自动高射炮为经典的车载式自动高射炮,有两根炮管,炮管细长专用于应对空中敌人。今天小朋友可以通过学习高射炮简笔画来了解更多军事大炮相关知识。接下来就让我们一起来学习自动高射炮的画法吧!
自动榴弹炮坦克是现代军事武器,与车辆构成一体,越野性能好杀伤范围大。通过学习自动榴弹炮简笔画来了解更多军事知识。今天我们将通过自动榴弹炮儿童简笔画步骤图解来学习自动榴弹炮儿童简笔画的画法。
自动炮是一种现代化军事武器,由炮管炮口炮托等部件构成。小朋友可以学习自动炮简笔画的同时了解更多军事相关知识。接下来我们就通过自动炮简笔画教程图解步骤来学习怎么画自动炮简笔画。
怎么利用Photoshop给电商模特照片精修磨皮?很多朋友在工作中经常会遇到要求精修模特的情况,特别是做化妆品行业的电商设计师,所以总结了一下我的模特修图方法和技巧与大家分享,喜欢的朋友让我们一起来学习吧。
磨皮是我们ps照片最基本的技能,Photoshop人物磨皮是我们必须掌握的,如今不少国人对Photoshop修图的三大酷炫神技双曲线、中性灰与高低频几近痴迷,抓耳挠腮想学会它,下面一起看看教程吧。
掌握一点Photoshop教程对你是非常有用的,这篇教程是给大家分享PS简单快速创建眼睛彩虹美瞳效果方法,教程最终创建出来的效果非常漂亮,而且难度并不是很大,很值得大家学习,一起来学习吧。
2017年最受欢迎的生活服务APP!!生活服务类App的出现为日常生活带来极大便利,我们可以通过手机客户端预约各种家政服务,足不出户就能够享受实惠、便捷的生活服务,那么接下来我为大家推荐一些生活中必备生活app。
由于现在抢红包大热起来,很多app都开始支持发红包抢红包了,因此也出现了微信抢红包神器,可以自动抢微信红包,肯定比认为手动操作快,有消息就会自动打开,然后打开红包。今天就给大家分享2017微信自动抢红包神器大全。
2017手机赚钱软件排行榜!!很多朋友都在苦恼每天的钱不够话,空闲时间不知道怎么打发,总想寻找一种简单的赚钱方式,我们的手机app就有很多,下面具体给大家介绍手机赚钱软件有哪些,总有一款你中意的。
经常玩微信的朋友都知道,微信小程序已经全面上线了,对于小程序的出现是否会引发App变革众说纷纭,但不可否认的是小程序能够带给用户及产商一定的便利,那么今天为大家汇总目前上线的一些实用小程序。
男女交往一直都是人们比较关注的一个问题,都说相爱容易,相处不易,交往过的朋友应该都能深刻的体会到,女生常常抱怨着让男生理解自己,但男生也希望多体谅一下他们。尤其不要老是问一些无法回答的问题来考验他们。
很多朋友都信风水一说,对于自己家里房屋客厅的装修也是有一定要求的,因为客厅的风水关系着整个家居的运势,更关系着主人的财运与健康,因而客厅里的风水禁忌是需要我们谨慎注意的,那么风水学中客厅风水禁忌有哪些呢?
春天已经来临了,夏天也不远了,新的一才刚刚开始,时尚爱美的美眉们最关注的就是春夏服装设计的流行趋势了,早早的把握住时尚趋势走在流行的最尖端,今天就给大家整理分享2017春夏女装设计流行趋势 ,你绝对不能错过的亮点。Linux下某个进程CPU占用率高分析方法
在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况。这种情况发生时,我们怎么去找出原因并解决。 一般解决方法是通过top命令找出消耗资源高的线程id,利用str
在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况。这种情况发生时,我们怎么去找出原因并解决。
一般解决方法是通过命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用
1. 通过top命令找到可疑进程PID
top - 09:37:18 up 70 days, 16:29,
load average: 1.13, 1.04, 0.97
Tasks: 105 total,
1 running, 104 sleeping,
0 stopped,
0.0%ni, 93.6%id,
2067816k total,
1756680k used,
311136k free,
236340k buffers
524284k total,
255508k used,
268776k free,
277040k cached
SHR S %CPU %MEM
24138 apache
0 m 3668 S 103.3 19.0
1232:39 java
4:39.34 gam_server
5:06.63 httpd
19254 root
785m 221m 3176 S
9:04.36 java
1:22.46 init
0:00.00 kthreadd
0:33.42 ksoftirqd/0
0:00.03 kworker/u:0
从上面命令中可以看出java进程CPU利用率一直保持100%,稳居不下,找到PID 24138
2. 找出消耗资源最高的线程
top -H -p &24138 可以不用第一步,直接执行命令 top -H ,就可以查看到消耗资源最高的线程
top - 09:49:49 up 70 days, 16:41,
load average: 1.01, 1.04, 1.00
1 running,
71 sleeping,
0 stopped,
0.0%ni, 97.7%id,
2067816k total,
1760840k used,
306976k free,
236744k buffers
524284k total,
253344k used,
270940k free,
279092k cached
SHR S %CPU %MEM
24167 apache
0 m 3688 R 99.1 19.0
1169:43 java
24152 apache
0 m 3688 S
0:28.58 java
24188 apache
0 m 3688 S
4:56.69 java
24138 apache
0 m 3688 S
0:00.00 java
3. 查看这个线程所有系统调用
strace -p 24167
通过这3步基本可以找出什么原因导致java进程占用那么高CPU资源
转载请保留固定链接:
------分隔线----------------------------
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
在一般的 linux 或者 unix 系统中, 都可以通过编辑 bashrc 和 profil...
因为休眠功能在部分计算机无法正常工作,所以Ubuntu默认是不开...
看到too many open files可能想到fs.file-max参数,其实还受下面参数影...
为什么Nginx的性能要比Apache高很多? 这得益于Nginx使用了最新的...
老实说,人们最不曾思考的问题之一是他们的个人电脑中使用了...
近两年来,Linux的容器技术占据了世界企业IT市场的主导地位,并...用户名:hrs219
文章数:33
评论数:58
访问量:139230
注册日期:
阅读量:1297
阅读量:3317
阅读量:441390
阅读量:1127645
51CTO推荐博文
这几天在学习研究shell脚本,写的一些系统负载与CPU监控脚本程序。在没有nagios监控软件的情况下,只要服务器能上互联网,就可通过发邮件的方式来提醒管理员系统负载与CPU占用的使用情况。
一、安装linux下面的一个邮件客户端msmtp软件(类似于一个foxmail的工具)
&1、下载安装:
& # tar jxvf msmtp-1.4.16.tar.bz2
& # cd msmtp-1.4.16
& # ./configure --prefix=/usr/local/msmtp
& # make install
&2、创建msmtp配置文件和日志文件(host为邮件域名,邮件用户名test,密码123456)
& # vim ~/.msmtprc
account&default &host& &from& &auth&login &user&test &password&123456 &logfile&~/.msmtp.log&
& # chmod 600& ~/.msmtprc
& # touch ~/.msmtp.log
&3、mutt安装配置:(一般linux下有默认安装mutt)
& # vim ~/.muttrc
set&sendmail=&/usr/local/msmtp/bin/msmtp&&set&use_from=yes&set&realname=&moniter&& &set&from=test@ &set&envelope_from=yes&set&rfc2047_parameters=yes&set&charset=&utf-8&&
&4、邮件发送测试(-s邮件标题,-a表加附件)
& # echo &邮件内容123456& | mutt -s &邮件标题测试邮件& -a /scripts/test.txt&
二、监控服务器系统负载情况:
1、用uptime命令查看当前负载情况(1分钟,5分钟,15分钟平均负载情况)
&& 15:43:59 up 186 days, 20:04,& 1 user,& load average:& 0.01,&&& 0.02,&& 0.00&&
系统负荷的经验法则:(摘自)
(1) 主要观察&15分钟系统负荷&,将它作为电脑正常运行的指标。
(2) 如果15分钟内,(系统负荷除以CPU核心数目之后的)平均负荷大于1.0,表明问题持续存在,不是暂时现象。
(3) 当系统负荷持续大于0.7,你必须开始调查了,问题出在哪里,防止情况恶化。
(4) 当系统负荷持续大于1.0,你必须动手寻找解决办法,把这个值降下来。
(5) 当系统负荷达到5.0,就表明你的系统有很严重的问题,长时间没有响应,或者接近死机了。
2、查看服务器cpu的总核数
&# grep -c 'model name' /proc/cpuinfo
3、截取服务器1分钟、5分钟、15分钟的负载情况
# uptime | awk '{print $8,$9,$10,$11,$12}'
&& load average:& 0.01,&&& 0.02,&& 0.00&&
4、查看截取15分钟的平均负载
&# uptime | awk '{print $12}' (用 '{print $12}' 这个获取的不够准确,如果都用awk取第12个字段的话,结果有可能为空了。而用$NF表输出最后一段的内容)
#&uptime | awk '{print $NF}'
5、编写系统负载监控的脚本文件:
# vim /scripts/load-check.sh
#!/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、编写系统负载结果文件邮件发送脚本:
# vim /scripts/sendmail-load.sh
#!/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&& &
& # chmod a+x /scripts/sendmail-load.sh
7、编写系统负载监控的脚本文件:
&# vim /scripts/load-warning.sh
#!/bin/bash &#使用uptime命令监控linux系统负载变化 &&#提取本服务器的IP地址信息 &IP=`ifconfig&eth0&|&grep&&inet&addr&&|&cut&-f&2&-d&&:&&|&cut&-f&1&-d&&&&` &&#抓取cpu的总核数 &cpu_num=`grep&-c&'model&name'&/proc/cpuinfo` &&#抓取当前系统15分钟的平均负载值 &load_15=`uptime&|&awk&'{print&$NF}'` &&#计算当前系统单个核心15分钟的平均负载值,结果小于1.0时前面个位数补0。 &average_load=`echo&&scale=2;a=$load_15/$cpu_if(length(a)==scale(a))&print&0;print&a&&|&bc` &#取上面平均负载值的个位整数 &average_int=`echo&$average_load&|&cut&-f&1&-d&&.&` &&#设置系统单个核心15分钟的平均负载的告警值为0.70(即使用超过70%的时候告警)。 &load_warn=0.70 &&#当单个核心15分钟的平均负载值大于等于1.0(即个位整数大于0)&,直接发邮件告警;如果小于1.0则进行二次比较 &if&(($average_int&&0));&then &&&&&&&echo&&$IP服务器15分钟的系统平均负载为$average_load,超过警戒值1.0,请立即处理!!!&&|&mutt&-s&&$IP&服务器系统负载严重告警!!!&&& &else &#当前系统15分钟平均负载值与告警值进行比较(当大于告警值0.70时会返回1,小于时会返回0&) &load_now=`expr&$average_load&\&$load_warn` &&#如果系统单个核心15分钟的平均负载值大于告警值0.70(返回值为1),则发邮件给管理员 &&if&(($load_now&==&1));&then &&&&&echo&&$IP服务器15分钟的系统平均负载达到&$average_load,超过警戒值0.70,请及时处理。&&|&mutt&-s&&$IP&服务器系统负载告警&&& &&fi &fi&
& # chmod a+x /scripts/load-warning.sh
三、监控服务器系统cpu占用情况:
1、使用top命令查看linux系统cpu使用情况:
&#& top -b -n 1 | grep Cpu&& (-b -n 1 表只需要1次的输出结果)
&&&& Cpu(s):& 0.0%us,& 0.0%sy,& 0.0%ni, 99.9%id,& 0.0%wa,& 0.0%hi,& 0.0%si,& 0.0%st
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& (空闲值)
&2、查看截取空闲cpu的百分比数值命令(只取整数部分):
&# top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f 1 -d &.&
&3、编写cpu监控的脚本文件:
&# vim /scripts/cpu-check.sh
#!/bin/bash &#使用top命令监控linux系统cpu变化 &&#取系统当前时间(以追加的方式写入文件) &date&&/scripts/datetime-cpu.txt&&& &&#抓取当前cpu的值(以追加的方式写入文件) &top&-b&-n&1&|&grep&Cpu&&&/scripts/cpu-now.txt& &&#逐行连接上面的时间和cpu相关行数据(每次重新写入文件) &paste&&/scripts/datetime-cpu.txt&&&/scripts/cpu-now.txt&&&/scripts/cpu.txt&
& # chmod a+x /scripts/cpu-check.sh
&4、查看CPU监控的结果文件:
&# cat /scripts/cpu.txt
&5、编写cpu结果文件邮件发送脚本:
# vim /scripts/sendmail-cpu.sh
#!/bin/bash &#把生成的cpu.txt文件通过邮件发送给用户 &&#提取本服务器的IP地址信息 &IP=`ifconfig&eth0&|&grep&&inet&addr&&|&cut&-f&2&-d&&:&&|&cut&-f&1&-d&&&&` &&#提取当前日期&today=`date&-d&&0&day&&+%Y年%m月%d日` &&#发送cpu监控结果邮件 &echo&&这是$IP服务器$today的cpu监控报告,请下载附件。&&|&mutt&-s&&$IP服务器$today的CPU监控报告&&-a&/scripts/cpu.txt&&&
& # chmod a+x /scripts/sendmail-cpu.sh
四、监控系统cpu的情况,当使用超过80%的时候发告警邮件:
& # vim /scripts/cpu-warning.sh
#!/bin/bash &#监控系统cpu的情况脚本程序 &&#提取本服务器的IP地址信息 &IP=`ifconfig&eth0&|&grep&&inet&addr&&|&cut&-f&2&-d&&:&&|&cut&-f&1&-d&&&&` &&#取当前空闲cpu百份比值(只取整数部分) &cpu_idle=`top&-b&-n&1&|&grep&Cpu&|&awk&'{print&$5}'&|&cut&-f&1&-d&&.&` &&#设置空闲cpu的告警值为20%,如果当前cpu使用超过80%(即剩余小于20%),立即发邮件告警 &if&(($cpu_idle&&));&then &&&&&&&echo&&$IP服务器cpu剩余$cpu_idle%,使用率已经超过80%,请及时处理。&&|&mutt&-s&&$IP&服务器CPU告警&&& &fi&
& # chmod a+x /scripts/cpu-warning.sh
五、加入任务计划:系统负载与CPU占用率每十分钟检测一次,有告警则立即发邮件(十分钟发一次),负载与CPU检测结果邮件每天早上8点发一次
# crontab -e
*/10&*&*&*&*&&/scripts/load-check.sh &*/10&*&*&*&*&&/scripts/load-warning.sh &0&8&*&*&*&&/scripts/sendmail-load.sh &&*/10&*&*&*&*&&/scripts/cpu-check.sh &*/10&*&*&*&*&&/scripts/cpu-warning.sh &0&8&*&*&*&&/scripts/sendmail-cpu.sh&
&# service crond restart
&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
23:12:15 14:14:53 21:23:17 11:00:15 11:06:00 20:48:57 12:51:55

我要回帖

更多关于 adb命令查看cpu使用率 的文章

 

随机推荐