获取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