免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5351 | 回复: 17
打印 上一主题 下一主题

[系统管理] 监控某个进程cpu占用率是否小于2% [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-09-02 14:18 |只看该作者 |倒序浏览
本帖最后由 siyecaoliu 于 2014-09-02 15:00 编辑

问题描述:
1.通过ps命令找到某进行的pid,如./daemon这个进程的pid为4310
  1. root@wrl6-x86_64:~# ps xua | grep "./daemon"
  2. root      4310  0.0  0.0 260420  2156 ttyS0    Sl+  02:19   0:01 ./daemon
  3. root      5490  0.0  0.0   4408   508 pts/1    S+   06:04   0:00 grep ./daemon
复制代码
2.通过top命令查看该进程的cpu占用率,如果占用率大于2%,将这条记录结果输出到某一个文本
  1. root@wrl6-x86_64:~# top -p 4310
  2. top - 05:57:52 up 22:28,  3 users,  load average: 0.67, 0.72, 0.76
  3. Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
  4. Cpu(s):  0.0%us,  1.5%sy,  0.0%ni, 98.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
  5. Mem:   3786056k total,   388056k used,  3398000k free,    21476k buffers
  6. Swap:        0k total,        0k used,        0k free,    52068k cached
  7. Unknown command - try 'h' for help
  8.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                             
  9. 4310 root      20   0  254m 2156 1696 S    0  0.1   0:01.03 daemon
复制代码
要求:
1.在后台运行
2.如果占用率超过2%,停止运行
求助大神们帮忙看下啊~ 先谢谢啦

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
2 [报告]
发表于 2014-09-02 14:50 |只看该作者
1, 2 这两个要求是矛盾的, 应该实现起来只能保证一个.

论坛徽章:
0
3 [报告]
发表于 2014-09-02 15:05 |只看该作者
已经修改,谢谢!
但是还是有一个疑问,后台运行的一些信息没有办法输出到终端吗
回复 2# q1208c


   

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
4 [报告]
发表于 2014-09-02 15:13 |只看该作者
ps aux 的第三列不就是 %CPU 吗,必须到 top 里面去查?

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
5 [报告]
发表于 2014-09-02 15:14 |只看该作者
回复 3# siyecaoliu


    哪个命令后台运行的一些信息?

论坛徽章:
0
6 [报告]
发表于 2014-09-02 15:22 |只看该作者
是需要一直查看cpu的变化是不是超过2%,因为top是动态显示的,才想着用这个命令的
回复 4# Shell_HAT


   

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
7 [报告]
发表于 2014-09-02 15:23 |只看该作者
回复 3# siyecaoliu

这要看你的后台是哪种后台.

如果是当前终端, 你用 & 放到后台的, 那不用做特别的设置, 只要你输出, 就会输出到当前终端的.

如果是开机以服务类似的方式运行, 由于根本没有终端, 通常 STDOUT 和 STDERR 都会被重定向到文件.
如果这种要输出到终端, 只能输出到所有的终端, 使用特别的系统命令(如wall)是可以的. 
但这样会通知所有的用户, 而不是特定的用户. 


   

论坛徽章:
0
8 [报告]
发表于 2014-09-02 15:26 |只看该作者
top打印出来的cpu占用率的信息,主要是想把cpu占用率超了2%的时候,输出cpu的实际占用率
回复 5# Shell_HAT


   

论坛徽章:
0
9 [报告]
发表于 2014-09-02 15:42 |只看该作者
2%, 太抠了点吧。。

论坛徽章:
0
10 [报告]
发表于 2014-09-02 15:44 |只看该作者
谢谢
用&实现就可以了~
回复 7# q1208c


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP