我正在新的 UNIX 服务器上运行一个非常大的内存密集型程序,并试图完全理解“top”命令的输出。这是我现在看到的(仅显示第一个过程):
load averages: 1.51, 1.48, 1.45; up 59+12:23:36 08:57:47
194 processes: 191 sleeping, 1 zombie, 2 on cpu
CPU states: 99.5% idle, 0.4% user, 0.1% kernel, 0.0% iowait, 0.0% swap
Kernel: 2045 ctxsw, 73 trap, 2891 intr, 1797 syscall, 23 flt, 48 pgout
Memory: 256G phys mem, 214G free mem, 22G total swap, 22G free swap
PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
15382 bd9439 22 1 4 7799M 7787M cpu/147 21.9H 0.39% sas
“cpu”后面的“STATE”列中的数字(在本例中为 147)有何含义?页面man
只说:
STATE
Current state (typically one of "sleep", "run", "idl",
"zomb", or "stop").
这是运行 Solaris 10 的新 Oracle T4-4 服务器,尚未投入“生产”,这意味着这是目前唯一正在运行的服务器。
Solaris 10 和顶级版本 3.7:
bd9439@bsprd697 $ uname -a
SunOS bsprd697 5.10 Generic_148888-01 sun4v sparc sun4v
bd9439@bsprd697 $ top --version
top: version 3.7
答案1
状态= 进程的状态(取自prstat
命令手册页):
cpuN - 进程正在 CPU N 上运行。
sleep - 睡眠:进程正在等待事件完成。
wait -等待:进程正在等待 CPU 使用率降至 CPU-caps 强制限制。请参阅resource_controls(5) 中CPU 上限的描述。
run - 可运行:运行队列中的进程。
僵尸 - 僵尸状态:进程终止且父进程不等待。
停止 - 进程停止。