快速业务通道

linux查看指定程序的资源占用

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-28
linux下,或者说*inx下有个top命令,可以让我们实时的监控进程运行状态,包括cpu占用,内存占用等. 常用的管理指令像c查看命令行参数,s调整刷新时间,M以内存排序,P以cpu排序,N以进程排序就不说了,这里咱们说说查看指定进程资源占用这一特殊情况.比如说:我只查看apache或者mysql的资源占用情况.怎样才能从一堆的信息中找到这个有用信息呢? 1.特定用户 一般像apache或者mysql这些服务我们都会用专门的帐号来运行它们,这样的话我们可以直接利用top的U or u指令,指定特定的用户.我们就可以得到想要的信息了.这种方法个人感觉很强大,它可以适应指定用户进程数不断变动的情况例如apache. 2.指定进程 习惯上,我们会将很多服务都以root的身份运行.这种情况怎么挑出来有用的信息呢?那我们就要找不同点了,是内存占用高,cpu占用高还是进程id高?对于启动以后不再增加进程的程序笔者又想出来一招.开源的工具总会给你惊喜,只有你想不到的,没有它做不到的.到底怎么办呢?仔细的读了几遍top的man,发现了一个有用的参数-p.它支持同时传入多个pid.于是一条接近无敌的指令出现了:top -p `pgrep mysql |xargs perl -e "print join '','',@ARGV" 分析一下:本例以mysql为例.先通过pgrep取得所有包含关键字mysql的进程id,然后通过一句perl指令把得到的进程组合成top -p参数可以接受的格式,然后传给top. 这条指令虽然达到了目的,但是个人觉得有点繁锁.使用了一句perl命令主要是不知道怎么用bash命令把得到的进程ip变成pid1,pid2,pid3这样的形式,笔者在这一步卡了十多分钟.另外得到结果以后怎么通过管道 xargs传给top -p笔者也没有想出来,希望有更简捷方法的朋友指点:)

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号