如何通过linux中的进程时间信息获取CPU利用率?基本上我想让我的应用程序一夜之间运行。同时,我想在应用程序运行期间监视CPU利用率。
我试过顶级| grep appName>&日志,它似乎没有在日志中返回任何内容。有人可以帮我这个吗?
感谢。
答案 0 :(得分:2)
vmstat 和 iostat 都可以为您提供此类性质的定期信息;我建议手动设置次数,或者将单个轮询放入cron作业,然后将输出重定向到文件:
vmstat 20 4230 >> cpu_log_file
这将为您提供24小时内每20秒使用一次的快照。
答案 1 :(得分:1)
安装sysstat包并运行sar
nohup sar -o output.file 12 8 >/dev/null 2>&1 &
答案 2 :(得分:0)
使用top或watch命令
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
答案 3 :(得分:0)
编写一个调用您的流程的程序,然后调用getrusage(2)并报告其子项的统计信息。
答案 4 :(得分:0)
您可以在程序运行时使用top
监控程序使用的时间。
或者,您可以使用time
命令启动应用程序,该命令将打印程序在执行结束时使用的总CPU时间。只需输入time ./my_app
,而不只是./my_app
有关详细信息,请man 1 time