我跑到了上面,我看到了很多 rcuos/rcuob 进程。这是顶部输出的示例:
top - 21:41:15 up 22 days, 19:20, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 332 total, 1 running, 331 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 32910904k total, 2232224k used, 30678680k free, 246636k buffers
Swap: 33517564k total, 0k used, 33517564k free, 1048244k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3098 root 20 0 11.8g 113m 9.9m S 1 0.4 67:57.98 asterisk
12 …Run Code Online (Sandbox Code Playgroud) 运行时top,我得到:
top - 09:10:52 up 18:37, 1 user, load average: 1.56, 1.33, 1.15
Tasks: 39 total, 1 running, 38 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.6%sy, 1.0%ni, 92.5%id, 5.8%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4194304k total, 3045460k used, 1148844k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 2256128k cached
Run Code Online (Sandbox Code Playgroud)
看部分:2256128k缓存?这到底是什么意思呢?
我正在比较来自两个提供商的两个 VPS,这个总是有大量的(已用内存的 70%),而另一个 VPS 提供商总是显示 0。
我如何top以类似于less退出的方式退出,即不将其输出留在屏幕上?
这是我拥有的版本:
procps-ng version 3.3.9
Run Code Online (Sandbox Code Playgroud) 我目前正在调试 VPS 的性能问题,为此我试图了解哪些进程占用的内存最多。阅读顶部,这是我得到的:
Mem: 366544k total, 321396k used, 45148k free, 380k buffers
Swap: 1048572k total, 592388k used, 456184k free, 7756k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12339 ruby 20 0 844m 74m 2440 S 0 20.8 0:24.84 ruby
12363 ruby 20 0 844m 73m 1576 S 0 20.6 0:00.26 ruby
21117 ruby 20 0 171m 33m 1792 S 0 9.3 2:03.98 ruby
11846 ruby 20 0 858m 21m 1820 S 0 6.0 0:09.15 …Run Code Online (Sandbox Code Playgroud) 我有一台家用服务器,有时会以大约 50% 到 70% 的高 CPU 使用率运行。
在htop,我最喜欢的进程管理器中,我可以按 CPU 使用率对进程进行排序,但通常没有任何进程消耗超过 0 % 的 CPU。另一方面,htop显示系统的整个 CPU 使用率,如前所述,大约为 50%。
我想对此有一个简单的解释,但我不知道。
也许有一些隐藏的过程?但即使以 root 身份运行它也不会显示更多进程。
编辑:
我查看了top,它显示(至少)另外两个进程:
230 root 20 0 0 0 0 R 37.4 0.0 107:06.59 md127_raid5
20403 root 35 15 0 0 0 D 9.6 0.0 2:45.78 md127_resync
Run Code Online (Sandbox Code Playgroud)
所以我的 mdadm raid 目前正在重新同步,当我显示/proc/mdstat. (见第一条评论。)
所以这把问题变成了:“为什么 htop 不显示与 top 相同的进程?”