获取CPU利用率信息

3

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

我尝试了 top | grep appName >& log,但似乎没有在日志中返回任何内容。有人能帮我解决这个问题吗?

谢谢。

5个回答

2

vmstatiostat 都可以提供这种周期性信息;我建议手动设置次数或将单个轮询放入cron作业中,然后将输出重定向到文件中:

vmstat 20 4230 >> cpu_log_file

这将为您提供每20秒一次的24小时使用快照。

1
安装sysstat软件包并运行sar。
nohup sar -o output.file 12 8 >/dev/null 2>&1 &

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

0
编写一个程序,调用您的进程,然后调用getrusage(2)并报告其子进程的统计信息。

0

在程序运行时,您可以使用top监视程序使用的时间。

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

有关更多信息,请参阅man 1 time


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接