|
我想得到命令postgres(我的postgresql数据库程序)运行时的平均cpu占用率,我用下面的top命令:
top -U postgres -b -i -n 3000 -d 1
top每一秒输出一次如下信息:
top - 22:06:38 up 3 min, 2 users, load average: 0.13, 0.12, 0.05
Tasks: 46 total, 2 running, 44 sleeping, 0 stopped, 0 zombie
Cpu(s): 24.0% us, 6.0% sy, 0.0% ni, 0.0% id, 69.0% wa, 1.0% hi, 0.0% si
Mem: 515324k total, 103796k used, 411528k free, 8512k buffers
Swap: 1052216k total, 0k used, 1052216k free, 56908k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2190 postgres 18 0 78780 21m 72m R 29.9 4.2 0:00.30 postmaster
2153 postgres 16 0 3328 900 1628 R 1.0 0.2 0:00.01 top
但我只想拿到cpu占用率的数字(就是29.9),请问用shell script怎样实现?因为上面的top命令会产生3000条记录,我怎样拿到这3000个记录里的cpu占用率并求平均值啊?或者有没有其他简点的top用法可以实现这个功能?谢谢
我很需要这个script,但苦于我是shell菜鸟,请高手一定要帮忙啊。 |
|