获取CPU利用率信息

问题描述:

如何在Linux中获得CPU利用率和进程的时间信息?基本上我想让我的应用程序在一夜之间运行。同时,我想在应用程序运行期间监视CPU利用率。获取CPU利用率信息

我试过顶部| grep appName> &日志,它似乎没有在日志中返回任何内容。有人可以帮助我吗?

谢谢。

使用顶部或观看命令

PID COMMAND  %CPU TIME  #TH #WQ #PORT #MREG RPRVT RSHRD RSIZE VPRVT VSIZE PGRP PPID STATE UID FAULTS COW MSGSENT MSGRECV SYSBSD SYSMACH CSW  PAGEINS USER 
10764 top   8.4 00:01.04 1/1 0 24 33 2000K 244K 2576K 17M 2378M  10764 10719 running 0 9908+  54  564790+ 282365+ 3381+  283412+ 838+   27  root 
10763 taskgated 0.0 00:00.00 2 0 25 27 432K 244K 1004K 27M 2387M 10763 1  sleeping 0 376  60  140  60   160  109  11  0  root 

编写调用你的处理的程序,然后调用的getrusage(2)和报表统计它的孩子。

vmstat and iostat可以给你这种性质的定期信息;我会建议手动设置的次数,或将在一个轮询到一个cron作业,然后将输出重定向到一个文件:

vmstat 20 4230 >> cpu_log_file 

这将使你的使用,每20秒的快照24小时。

安装sysstat包和运行SAR

nohup sar -o output.file 12 8 >/dev/null 2>&1 & 

您可以监控其运行时与top使用你的程序的时间。

或者,您可以使用time命令来启动您的应用程序,该命令将显示程序执行结束时使用的总CPU时间。只需键入time ./my_app,而不是仅仅./my_app

欲了解更多信息,man 1 time