是否可以排除某些进程的报告top?
例如,我想将其自身从其列表中排除(即,我不想top在进程列表中显示)。
我还希望能够排除不属于正在运行的用户的进程top(除了root)。
这可能吗?如果是这样,怎么办?如果没有,是否有类似的工具可以完成我想要的操作(不涉及ps频繁运行某些东西)。
-u我意识到您可以通过使用或选项调用来监视给定用户的进程-U,但这与仅监视运行top.
我使用 Ubuntu 服务器 10.04。我的用户通常无权访问 sudo。当该用户使用 top 命令时,他只能看到当前用户的进程。我添加了一行/etc/sudoers:
user ALL = NOPASSWD: /usr/bin/top
Run Code Online (Sandbox Code Playgroud)
但是现在我们不仅可以访问系统进程列表,还可以杀死它们,这是不希望的。
有没有其他方法可以做到这一点?
我最近看到一个屏幕截图,看起来像是在使用“top”命令,但它显示了更多关于 CPU 使用情况的深入信息:

该程序详细显示了 Wordpress 中的哪个插件占用了所有资源。这怎么可能?
我的服务器一直处于非常高的内存使用率- 以至于它有时不允许我通过 ssh 登录。我必须在我登录之前重新启动服务器,当它重新启动时,内存使用率下降到 ~90% 并且慢慢地工作它高达 ~190%。
我注意到重新启动 apache 也会让我回到 90%,我可以使用托管工具慢慢观察内存上升。我一直在看top,但我不知道该看什么。我很确定罪魁祸首是 apache,但我不确定为什么。
top - 08:14:59 up 49 min, 1 user, load average: 0.04, 0.01, 0.00
Tasks: 41 total, 1 running, 40 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 946344k total, 724484k used, 221860k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 0k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND …Run Code Online (Sandbox Code Playgroud) 我已经阅读了许多top内存使用问题,但我认为他们没有回答这个问题。
这是top运行中最重要的部分:
top - 01:11:41 up 4 days, 1:06, 3 users, load average: 0.00, 0.03, 0.26
Tasks: 86 total, 1 running, 84 sleeping, 0 stopped, 1 zombie
Cpu(s): 0.4%us, 0.4%sy, 0.0%ni, 99.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1022816k total, 986704k used, 36112k free, 11200k buffers
Swap: 1048572k total, 419088k used, 629484k free, 408172k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2022 django 20 0 463m 87m 688 S 0.4 8.7 …Run Code Online (Sandbox Code Playgroud) 我想监视在我的 centos 6 主机上运行的一组选定进程,vmware vm。“top”为我提供了我想要的大部分内容,因为我可以使用 -p 来仅指定这些进程,并使用 -c 来获取完整的命令行,因为我最终对查看正在监视的 VM 的实际名称感兴趣。但是,完整的命令行太长而无法在屏幕上显示。我想将 top 的输出写入 /tmp 并在那里进行一些解析,但显然 top 只写了 80 个字符,截断了 VM 的名称。
我想也许我可以使用 'ps' 来做类似的事情,但是使用这种方法的 CPU 使用率永远不会改变——这怎么可能?
关于我如何解决这个问题的任何建议?
蒂亚!
我有一个奇怪的问题,当我运行top命令时,它显示某些进程正在使用大约 1.5GB 的交换空间,但是系统交换的整体使用量减少到大约 117MB,这是为什么?我认为整个系统交换使用量是所有进程的总使用量,在这种情况下似乎并非如此。这是输出:
Tasks: 392 total, 16 running, 373 sleeping, 0 stopped, 3 zombie
Cpu0 : 95.1%us, 4.9%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 98.0%us, 2.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 91.1%us, 6.9%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 2.0%si, 0.0%st
Cpu3 : 95.0%us, 3.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 2.0%si, 0.0%st
Mem: 4148160k total, 4007820k used, 140340k free, 15968k buffers
Swap: 4096552k total, 117584k used, 3978968k free, 2909396k cached
PID USER PR NI VIRT …Run Code Online (Sandbox Code Playgroud) 我有几台服务器,其中有一些客户端的应用程序,我希望为客户端提供一个应用程序以查看服务器和应用程序状态,并能够重新启动某些服务。
我已经完成了它的主要部分,用自定义 shell 脚本替换了 ssh 用户的登录 shell,该脚本为他提供了一个带有一些选项的菜单。登录后会自动用sudo(with NOPASSWD)启动菜单,因为脚本需要重新启动系统服务。问题是,我想他查看的输出top或htop,但我不希望他能够杀死或renice只能过程,也许其他的东西,都top和htop许可证。我只是想让他查看top.
是否有任何选项、标志或等效命令?
我想“实时”监视端口以及使用它们的进程。有什么工具可以处理这个问题吗?我想象像顶部一样,但有一个列列出了进程正在使用的所有端口...或者端口、协议以及打开该端口或正在侦听的进程的列表。
这是针对基于 Linux 的操作系统。
当我运行top命令时,我得到了这个
top - 23:20:50 up 1:25, 1 user, load average: 11.02, 11.20, 10.41
Tasks: 262 total, 3 running, 258 sleeping, 1 stopped, 0 zombie
Cpu(s): 75.6%us, 6.1%sy, 0.0%ni, 3.1%id, 14.3%wa, 0.0%hi, 0.8%si, 0.0%st
Mem: 2028800k total, 1669384k used, 359416k free, 153300k buffers
Swap: 523260k total, 2636k used, 520624k free, 749404k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10221 www-data 20 0 416m 24m 5376 S 46 1.2 0:27.88 apache2
11290 www-data 20 …Run Code Online (Sandbox Code Playgroud) top ×10
linux ×6
ubuntu ×3
memory-usage ×2
monitoring ×2
process ×2
apache-2.2 ×1
centos5 ×1
high-load ×1
hosting ×1
htop ×1
linux-kernel ×1
memory ×1
monit ×1
php ×1
port ×1
security ×1
sudo ×1
swap ×1
ubuntu-12.04 ×1
uptime ×1