我们有一台 RHEL 服务器。今天它突然变慢了。症状 - 它对来自其他服务器的 ping 查询的响应很慢。当我尝试使用 ssh 登录时,登录大约需要 10 秒钟。我通过一些猜测解决了这个问题。我杀死了一个我认为是罪魁祸首的进程。这解决了问题。不过我想知道在这种“服务器速度慢”的情况下检测罪魁祸首的正确方法是什么。让我知道解决这种缓慢问题和检测导致缓慢的进程的正确方法。
服务器速度慢的情况如下:
# vmstat 3 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 1 176 6730868 285052 4899676 0 0 3 4 0 0 1 1 97 1 0
0 0 176 6751576 285064 4899704 0 0 0 115 15307 37171 1 1 96 3 0
0 0 176 6751948 285068 4899700 0 0 0 23 14813 39559 1 1 98 1 0
# top
top - 16:38:18 up 150 days, 19:36, 64 users, load average: 1.68, 1.46, 1.44
Tasks: 1287 total, 2 running, 1284 sleeping, 1 stopped, 0 zombie
Cpu(s): 1.3%us, 1.7%sy, 0.1%ni, 95.9%id, 0.7%wa, 0.0%hi, 0.2%si, 0.0%st
Mem: 16620824k total, 9867124k used, 6753700k free, 287424k buffers
Swap: 8193140k total, 176k used, 8192964k free, 4898996k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
26258 khk 34 19 130m 47m 7088 S 11.2 0.3 385:32.42 edm
不过,我想知道在这种“服务器速度慢”的情况下,检测罪魁祸首的正确方法是什么。让我知道解决此类缓慢问题和检测导致缓慢的过程的正确方法。
注意 - 由于 ping 响应很慢,我们首先怀疑是网络问题。但事实并非如此。我们通过切换与相邻服务器(也在同一子网中)的网线来确认问题。