在 top 中,我可以看到正在休眠但占用内存和 CPU 的程序。如果程序正在休眠,那么这怎么可能呢?也许它可能保留了一些内存,但 CPU 呢?
另外,它显示有四个用户,但我只能看到两个用户,我自己和 root。我如何才能找出另外两个用户是谁?
答案1
用户数取决于打开的会话数。每个登录终端都会增加用户数。您可以使用该命令获取所有登录用户的列表以及他们正在做什么w
。
melchiz ~ # w 08:27:36 启动 70 天,17:13,13 个用户,平均负载:0.18、0.20、0.22 用户 TTY 登录@空闲 JCPU PCPU 什么 lrvick pts/0 星期二 14:22 分 0.02 秒 0.02 秒 -bash jspaldin pts/1 26May10 3:05 4:49 0.02s -/bin/bash uw pts/11 17Jul10 42:37m 0.16s 0.06s -/bin/bash uw pts/13 17Jul10 39:56m 0.12s 0.12s -/bin/bash uw pts/19 星期三16:06分 0.38秒 0.36秒 vim Mathbot.py lrvick pts/20 星期二14 41:15m 53:04 0.00s sshd:lrvick [priv] uw pts/17 18Jul10 42:37m 5.21s 1.14s -/bin/bash lrvick pts/26 星期三19 6:30m 0.02s 0.02s -bash jspaldin pts/27 10Jul10 4:35 0.16秒 0.16秒 -/bin/bash 蜗牛 pts/28 周三16 8:21m 6.66s 6.64s irssi root pts/32 08:27 0.00秒 0.02秒 0.00sw uw pts/44 17Jul10 18天 1:21 0.02秒 -/bin/bash 蜗牛 pts/30 Wed16 16:06m 0.06s 0.04s /usr/bin/python2.6
我怀疑您看到的处于睡眠状态并使用 CPU 的进程实际上在 top 的最后一个轮询周期中刚刚轮流过一次。top 默认每隔几秒才更新一次显示,在此期间进程完全有可能被唤醒、工作,然后重新进入睡眠状态。
除非它使用了过多的 CPU,否则我猜情况确实如此。