LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 941|回复: 9

如何实现top的延时输出?

[复制链接]
发表于 2005-3-9 15:15:24 | 显示全部楼层 |阅读模式
小弟现在作每日报表,要记录某些进程和总的cpu及内存的占用率。想写一个教本来实现这些功能,现在遇到一些问题,请大家帮帮忙,我的系统是solaris 5.8

我现在用 top | /usr/xpg4/bin/grep -f list (list 是预设文件,是查找条件)命令来过滤我所要的进程,但是因为用top 命令时总的cpu占用率需要过几秒钟才能出来,所以我得不到总的cpu占用率, 能不能实现 在top命令5秒中之后 再将其结果重定向到文件中,然后再进行过滤。这样就可以抓取到总的cpu占用率了。

还有,能不能将结果存为一定格式的文件,用excel可以直接导入。
发表于 2005-3-9 18:11:27 | 显示全部楼层
man top有一段如下:
       d    Specifies the delay between screen updates.  You can  change  this
            with the s interactive command.

可以指定delay的时间,这样可以吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-9 18:31:49 | 显示全部楼层
Post by kiron
man top有一段如下:
       d    Specifies the delay between screen updates.  You can  change  this
            with the s interactive command.

可以指定delay的时间,这样可以吗?



我想应该不是吧,它是指top命令刷新的时间间隔吧,还是不能达到目的啊。
回复 支持 反对

使用道具 举报

发表于 2005-3-9 18:44:01 | 显示全部楼层
我理解兄弟的意思就是隔一段时间才输出top的信息,刷新时间不就是这样的吗?

或许兄弟可以描述地更清楚一点
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-10 10:52:38 | 显示全部楼层
我的意思是我想用一个教本程序来得到机器的总的cpu和内存占用率及一些进程的cpu,内存占用率。我用命令
top | /usr/xpg4/bin/grep -f list  可以得到进程的的cpu和内存占用率及总的内存占用率,其中list文件为:
#cat list
scada
history
event
Memory
CPU
这是一个过滤条件的文件。但是这样我得不到机器总的cpu的占用率,因为用top命令的时候,总的cpu占用率不是与其他的进程同步出现,而是过了几秒钟之后才能有,所以我这样的命令得到的总的cpu占用率那一行是空的。用d参数的话,只是表示显示的刷新间隔,而不能实现我在总的cpu占用率出现之后再进行抓取这些数据的行为。
我现在想能不能把top的输出延时几秒重定向到某个文件,然后再从文件中抓取数据,这样就可以得到我所要的数据了
回复 支持 反对

使用道具 举报

发表于 2005-3-10 16:42:42 | 显示全部楼层
可以用ps 代替top吧
ps -eo pid,%mem,pcpu,comm
然后自己用awk统计一下.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-11 11:11:44 | 显示全部楼层
ps 是可以得到进程的cpu和内存占用,但是能得到系统的cpu和内存占用吗?
回复 支持 反对

使用道具 举报

发表于 2005-3-11 12:15:59 | 显示全部楼层
  1. zhyfly: ~/1$ top|egrep -f list
  2.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  3.     3 root       5 -10     0    0    0 S  0.0  0.0   0:00.36 events/0
  4.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  5.     3 root       5 -10     0    0    0 S  0.0  0.0   0:00.36 events/0
  6.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  7.     3 root       5 -10     0    0    0 S  0.0  0.0   0:00.36 events/0
  8.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  9.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  10.     3 root       5 -10     0    0    0 S  0.0  0.0   0:00.36 events/0
  11.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  12.     3 root       5 -10     0    0    0 S  0.0  0.0   0:00.36 events/0
  13.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  14.     3 root       5 -10     0    0    0 S  0.0  0.0   0:00.36 events/0
  15.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  16.     3 root       5 -10     0    0    0 S  0.0  0.0   0:00.36 events/0
  17.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  18.     3 root       5 -10     0    0    0 S  0.0  0.0   0:00.36 events/0
  19.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  20.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  21.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  22.     3 root       5 -10     0    0    0 S  0.0  0.0   0:00.36 events/0
  23.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  24.     3 root       5 -10     0    0    0 S  0.0  0.0   0:00.36 events/0
  25.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  26.     3 root       5 -10     0    0    0 S  0.0  0.0   0:00.36 events/0
  27.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  28.     3 root       5 -10     0    0    0 S  0.0  0.0   0:00.36 events/0
  29.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  30.     3 root       5 -10     0    0    0 S  0.0  0.0   0:00.36 events/0
  31. ..........
  32. zhyfly: ~/1$
复制代码

怎么会出现上述内容,没有变化?
回复 支持 反对

使用道具 举报

发表于 2005-3-14 17:44:52 | 显示全部楼层
顶一下!
回复 支持 反对

使用道具 举报

发表于 2005-3-14 22:39:12 | 显示全部楼层
Post by frankie
ps 是可以得到进程的cpu和内存占用,但是能得到系统的cpu和内存占用吗?

这个我的想法好像不可行,我按我的想法ps -eo %mem结果统计出来内存使用居然超过100, :confused:
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表