如何在Linux中获取进程的CPU利用率和时间信息?基本上我想让我的应用程序在过夜时运行。同时,我想在应用程序运行期间监视CPU利用率。
我尝试了 top | grep appName >& log,但似乎没有在日志中返回任何内容。有人能帮我解决这个问题吗?
谢谢。
vmstat 和 iostat 都可以提供这种周期性信息;我建议手动设置次数或将单个轮询放入cron作业中,然后将输出重定向到文件中:
vmstat 20 4230 >> cpu_log_file
nohup sar -o output.file 12 8 >/dev/null 2>&1 &
使用 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
在程序运行时,您可以使用top
监视程序使用的时间。
或者,您可以使用time
命令启动应用程序,在执行结束时打印程序使用的总CPU时间。只需键入time ./my_app
而不是./my_app
有关更多信息,请参阅man 1 time