这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 列出十分钟内占用cpu最多的几个进程

共1条 1/1 1 跳转至

列出十分钟内占用cpu最多的几个进程

高工
2017-11-24 11:29:38     打赏
列出十分钟内占用cpu最多的几个进程

此文章为转载http://blog.csdn.net/u010951938/article/details/50813417


ps命令用于收集系统中进程的详细信息。这些信息包括cpu使用情况、正在执行的命令、内存使用、进程状态等。

 sh脚本:

[plain] view plain copy
  1. #!/bin/bash  

  2.   

  3. SECS=600  

  4. UNIT_TIME=10  

  5.   

  6. STEPS=$(( $SECS / $UNIT_TIME))  

  7.   

  8. echo Watching CPU Usage...;  

  9.   

  10. for((i=0;i<STEPS;i++))  

  11. do  

  12.   ps -eo comm,pcpu|tail -n +2 >> /tmp/cpu_usage.$$  

  13.   sleep $UNIT_TIME  

  14. done  

  15.   

  16. echo  

  17. echo CPU eaters:  

  18.   

  19. cat /tmp/cpu_usage.$$ | \  

  20. awk '  

  21. { prcoess[$1]+=$2;}  

  22. END{  

  23.     for(i in process)  

  24.     {  

  25.       printf("%-20s %s",i,process[i];  

  26.     }  

  27. }' | sort -nrk 2 | head -n 4  

  28.   

  29. rm /tmp/cpu_usage.$$  


脚本运行的时候会出现下面的错误:

这主要是dash存在导致的问题,我们运行上述命令后,直接选择NO就可以了




共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]