我想让一个脚本持续监控(以1秒为间隔(总和进程特定的CPU和RAM使用情况,同时我有一个单独的程序运行。但是,我担心我的结果会有所偏差,因为也许要求操作系统给我此信息的简单行为本身可能会影响CPU和RAM的使用。有谁知道在 Linux 中运行命令(例如"top"(是否会对性能产生重大影响? 谢谢。
Top 使用的资源很少,但如果您担心它会改变您的监控,请考虑 top 命令也会监控自身。例如,在我的笔记本中:
top - 10:50:23 up 1:36, 1 user, load average: 0.36, 0.59, 0.60
Tasks: 321 total, 1 running, 320 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.4 us, 0.9 sy, 0.0 ni, 95.0 id, 0.2 wa, 0.3 hi, 0.2 si, 0.0 st
MiB Mem : 7865.9 total, 621.3 free, 3652.5 used, 3592.0 buff/cache
MiB Swap: 24000.0 total, 24000.0 free, 0.0 used. 3049.8 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2882 lrojas 20 0 1264648 207704 73156 S 7.9 2.6 8:00.64 mattermost-desk
2886 lrojas 20 0 1255748 188332 68476 S 7.0 2.3 6:29.08 mattermost-desk
1850 lrojas 20 0 477724 145512 117548 S 4.3 1.8 2:15.58 Xorg
2564 lrojas 20 0 634468 39260 27884 S 4.3 0.5 0:09.65 gnome-terminal-
1959 lrojas 20 0 3717332 266448 179640 S 3.0 3.3 2:33.57 gnome-shell
2186 lrojas 20 0 1651424 162284 78792 S 1.7 2.0 2:11.41 mattermost-desk
2651 lrojas 20 0 2850312 492984 179248 S 1.7 6.1 5:56.44 firefox
3542 lrojas 20 0 2289588 483896 123204 S 1.3 6.0 3:31.26 Web Content
3120 lrojas 20 0 1605924 121008 76764 S 0.7 1.5 0:16.89 WebExtensions
4090 lrojas 20 0 2034256 422128 114792 S 0.7 5.2 1:04.14 Web Content
7358 lrojas 20 0 1701508 213840 126108 S 0.7 2.7 0:24.12 Web Content
7564 lrojas 20 0 228920 5080 4268 R 0.7 0.1 0:00.07 top
在最后一行,您可以看到顶部,使用0.7%的CPU和一些内存。
因此,如果该资源利用率级别对您很重要,则可以将其从总数中打折,并相应地更新系统的结果。
例如,在这种情况下。有 95.0% 空闲,满分 100%,但 0.7% 被顶部使用。
95.0/(1 - 0.7%( = 95.0%/0.993 = 95.67% 空闲(如果 top 未运行(。