unix下的top命令问题
作者 佚名技术
来源 操作系统
浏览
发布时间 2012-06-28
今天因工作需要,要抓取top记录中的CPU统计这行,类似如下的内容: CPU states: 68.3% idle, 22.3% user, 7.6% kernel, 1.8% iowait, 0.0% swap 需要把这段内容重定向到文件中,但是使用top -b 这样的参数不能实现这样的效果,重定向到文件中的内容如下: last pid: 53372; load averages: 0.00, 0.00, 0.00 up 1+03:32:16 18:28:11 37 processes: 1 running, 35 sleeping, 1 zombie Mem: 22M Active, 342M Inact, 60M Wired, 2068K Cache, 111M Buf, 459M Free Swap: 6144M Total, 6144M Free 中间丢失了有关CPU统计的信息。 觉得比较奇怪,于是找来了另外一台FreeBSD的机器来看看(公司的是solaris),结果也是同样的情况。问我老婆是否知道,结果她给我了一串top -b -n 1 -c > top.log。我试了下,不行!但是她说她那边是可以的。于是我问了下她用的操作系统,结果是linux的。可能找到问题了,于是我找来一个linux的机器测试了下,果然跟操作系统有关。我晕了。找了好多地方都没有类似这样的实现方法。 最后还是在一个之前看过的网页中找到了办法,这个网页之前被我忽略了,以为是一般的问题。后来按照上面说的以-d参数来实现(应该是指delay的意思吧)。top -d 2 这样就有了,如下: last pid: 53376; load averages: 0.00, 0.00, 0.00 up 1+03:32:48 18:28:43 39 processes: 1 running, 37 sleeping, 1 zombie CPU states: % user, % nice, % system, % interrupt, % idle Mem: 23M Active, 342M Inact, 60M Wired, 2068K Cache, 111M Buf, 457M Free Swap: 6144M Total, 6144M Free 原来是unix在统计信息的时候,一开始没有CPU的信息,需要过几秒种才有显示。这就是-d参数的作用了。完整的用法:top -d 2 0 | grep CPU。这样就显示了上面开始时所提出的显示内容了。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于unix下的top命令问题的所有评论