編集: ここでのより詳細な回答: https://serverfault.com/questions/454192/my-linux-server-number-of-processes-created-and-context-switches-are-growing
サーバーで奇妙な動作があります :-/. VPSです。実行するとcat /proc/stat
、毎秒約 50 ~ 100 のプロセスが作成され、約 800k ~ 1200k のコンテキスト スイッチが発生することがわかります。その情報はすべて、サーバーが完全にアイドル状態であり、トラフィックもプログラムも実行されていません。
上は負荷平均が 0 で、CPU が 100% アイドル状態であることを示しています。
不要なサービス (httpd、mysqld、sendmail、nagios、named...) をすべて閉じましたが、問題は引き続き発生します。私も毎秒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 )。
私は/proc
dirに変更し、 (カーネルのものを含む)でcat [PID]\status
リストされているすべてのPIDを処理し、どのプロセスでも同じ速度で成長していません(わずか数十/秒)。ls
voluntary_ctxt_switches
nonvoluntary_ctxt_switches
cat /proc/stat
私はstrace -p PID
すべてのプロセスにも行ったので、プロセスがスレッドなどを作成しているかどうかを確認できますが、少し動きのあるプロセスは唯一のプロセスであり、データが端末に送信されているため、ssh
その動きはread
/操作です。write
その後、私はそれが同じ速度で成長しているのvmstat -s
を見ました。http://linux.die.net/man/2/forkが言うように、それぞれが新しい PID を作成しますが、サーバーの PID が増えません!forks
processes
/proc/stat
fork()
私が考えることができる最後のことはproc/stat
、vmstat -s
表示されるすべてのプロセスデータが同じマシンに保存されている他のすべての VPS と共有されているということですが、それが正しいかどうかはわかりません...誰かがこれに光を当てることができれば、私は本当に感謝します。