<分区>
我发现我的 java web 服务器 (tomcat) 使用了高 cpu,所以我使用 'ps aux' 来查看进程信息,例如:
# ps aux | grep -E "PID|java"
USER PID %CPU %MEM
root 7533 143 39.8
它表明 java 占用了 143% 的 cpu。 然后用'top'命令查看,java进程的cpu占用率也是140%左右。
之后,我将 Web 服务器离线(无法访问,错误进程仍然存在)。 然后我用top看看,java使用的cpu很低:
# top | grep -E "PID|java"
PID %CPU %MEM TIME+ COMMAND
7533 0.7 39.9 455:13.81 java
PID %CPU %MEM TIME+ COMMAND
'vmstat' 还显示 cpu 几乎空闲:
# vmstat 1
-----cpu------
us sy id wa st
19 1 79 1 0
0 0 99 1 0
0 0 100 0 0
0 0 100 0 0
0 0 98 1 0
0 0 99 1 0
然后,我再次使用'ps'命令,结果是:
#ps aux | grep -E "PID|java"
USER PID %CPU %MEM
root 7533 137 39.8
显示 7533 仍然占用 137% 的 cpu!隔了很久,我再次查看'ps',结果还是%137...
那么,“ps”命令会显示一些旧数据吗?以及如何通过'ps'查看实时数据(因为我想使用'ps -L'查看线程信息)?或者这是不可能的?