使用gawk记录一段时间内,某个进程占用内存和CPU的情况
2017-07-21 21:13
302 查看
很多时候,我们在后台测试程序的时候,都需要隔一段时间监控程序的内存和CPU占用情况,但是又不能经常盯着top命令的输出。
这时候就需要使用脚本来帮我们记录这些信息,方便我们监控了。
废话不多说,直接上代码:
解释一下top的两个参数,-n是让top命令只输出一次,如果不加上这个参数,top命令就会以交互式输出。-p是指定你要监控的程序的进程ID。
再来是gawk的脚本。NR是当前行号(先将top命令的结果重定向到一个文件,然后用vim打举开,就知道想要的数据在第几行,第几个字段),10,11分别代表当前行的第10个字段,和第11个字段,也就是CPU和MEM对应的数字
这时候就需要使用脚本来帮我们记录这些信息,方便我们监控了。
废话不多说,直接上代码:
```shell #!/bin/bash FileName="res.txt" echo "%CPU\t%MEM" > $FileName for (( i = 0; i < 10; i++ )) do output=`top -n 1 -p 1 > tmp` res=`gawk '{if (NR == 8) { printf "%d\t%d", $10, $11 } }' tmp` echo "$res" >> $FileName sleep 1 done ```
解释一下top的两个参数,-n是让top命令只输出一次,如果不加上这个参数,top命令就会以交互式输出。-p是指定你要监控的程序的进程ID。
再来是gawk的脚本。NR是当前行号(先将top命令的结果重定向到一个文件,然后用vim打举开,就知道想要的数据在第几行,第几个字段),10,11分别代表当前行的第10个字段,和第11个字段,也就是CPU和MEM对应的数字
相关文章推荐
- 使用gawk记录一段时间内,某个进程占用内存和CPU的情况
- Android: 系统单个进程内存、CPU使用情况的几种方法
- 使用showmap分析android进程内存占用情况
- 使用showmap分析android进程内存占用情况(转载)
- Android使用adb查看当前设备运行进程CPU内存等资源的使用情况
- 查看基于Android 系统单个进程内存、CPU使用情况的几种方法
- solaris系统用ps命令查看进程占用的CPU、内存等情况
- ubuntu查看内存占用和查看cpu使用情况的简单方法(ubuntu内存管理)
- 查看基于Android 系统单个进程内存、CPU使用情况的几种方法
- Linux查看进程内存占用及内存使用情况
- 查看基于Android 系统单个进程内存、CPU使用情况的几种方法
- centos查看监听端口,进程,内存,cpu使用情况
- 查看基于Android 系统单个进程内存、CPU使用情况的几种方法
- Android使用adb查看当前设备运行进程CPU内存等资源的使用情况
- linux查看占用内存/cpu最高的进程情况
- [转载]查看基于Android 系统单个进程内存、CPU使用情况的几种方法
- ubuntu查看内存占用和查看cpu使用情况的简单方法(ubuntu内存管理)
- 使用JConsole监控进程、线程、内存、cpu、类情况
- 查看Android 系统单个进程内存、CPU使用情况的几种方法
- 使用pmap查看进程占用的内存情况