我的服务器中有一个奇怪的行为: - /。是VPS。当我cat /proc/stat
时,我可以看到每秒约50-100个进程是如何创建的,并且发生了大约800k-1200k的上下文切换!所有这些信息都与服务器完全空闲,没有流量或程序运行。
Top显示0个负载平均值和100%空闲CPU。
我关闭了所有不需要的服务(httpd,mysqld,sendmail,nagios,名为......),问题仍然存在。我每秒都ps -ALf
,我也看不到任何变化,每次只创建一个新的ps
进程,并且PID与之前的+1相同,所以新的进程是没有创建,所以我认为在cat /proc/stat
中增长的进程必须是线程(是的,似乎processes
中的/proc/stat
计算线程创建,因为这表明:http://webcache.googleusercontent.com/search?q=cache:8NLgzKEzHQQJ:www.linuxhowtos.org/System/procstat.htm&hl=es&tbo=d&gl=es&strip=1)。< / p>
我已更改为/proc
dir并完成cat [PID]\status
所有PID列出ls
(包括内核)以及任何进程voluntary_ctxt_switches
或{{ 1}}以与nonvoluntary_ctxt_switches
相同的速度增长(仅几十秒/秒)。
我已经对所有进程执行了cat /proc/stat
所以我可以看到是否有任何进程正在创建线程或其他进程,但是唯一有一点运动的进程是strace -p PID
并且该运动是ssh
/ read
操作因为数据正在发送到我的终端。
之后,我完成了write
并看到vmstat -s
forks
正以processes
的速度/proc/stat
增长。正如http://linux.die.net/man/2/fork所说,每个fork()
都会创建一个新的PID,但我的服务器PID没有增长!
我能想到的最后一件事是,proc/stat
和vmstat -s
显示的所有流程数据都与同一台机器中存储的所有其他VPS共享,但我不知道是否这是正确的......如果有人能对此有所了解,我将非常感激。