月別アーカイブ: 2015年10月




TOPコマンドでkswapd0 が出現したので再起動で対処した




投稿日:

動きが遅いなーと思って、TOPコマンドを実施してみると以下のようになりました。

top - 16:12:22 up 65 days, 11 min,  4 users,  load average: 3.76, 2.56, 1.78
Tasks: 109 total,   2 running, 107 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3%us,  1.4%sy,  0.0%ni,  0.0%id, 98.3%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    604480k total,   597328k used,     7152k free,      232k buffers
Swap:  1048572k total,  1048572k used,        0k free,    15704k cached
PID to kill:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
   28 root      20   0     0    0    0 S  0.5  0.0   4:08.76 kswapd0
20125 mysql     20   0 1237m 182m 1340 S  0.5 30.9   0:02.94 mysqld


kswapd0 ? なんだこれは?

調べてみると、SWAPが発生している時、裏でメモリからSWWAPのHDDに移していたり、逆にメモリに戻したりするカーネルのスレッドなのだそう。この子が発生している時は、CPUを結構食ってしまうらしく、CPU使用率上位に出てきたりしてると、SWAP発生頻度が高いってことで、メモリの調整が必要そう。

対処

取り急ぎ、kswapd0を無くしたいのであれば、サーバを再起動すれば直るらしい。なぜなら、SWAPの利用が止まるから。再起動なしにも以下のように対処すると出来るみたいだか未確認です。

linuxのキャッシュ強制解放(ページキャッシュ&Slabキャッシュ) – I’m hungry

Linux – kswapdがCPU99%喰ってるのを解消したメモ – Qiita