ちょっと、サーバーが最近止まる案件が連続して起こったので、その時に使った方法を備忘録がわりに書いておきます。
まずはサーバーが止まった原因を探す
これは、基本ですが、メモリが無くなるとかもあるので、サーバーの監視画面でその辺りを調べる必要がありますが、サーバーのHDが100%とかになっていた場合の解決方法です。
サーバーのHDの使用量を見る
[root@ssec-jp ~]# df
ファイルシテム 1K-ブロック 使用 使用可 使用% マウント位置
devtmpfs 3902784 0 3902784 0% /dev
tmpfs 3941200 84 3941116 1% /dev/shm
tmpfs 3941200 16996 3924204 1% /run
tmpfs 3941200 0 3941200 0% /sys/fs/cgroup
/dev/sda2 30938360 30815932 122428 100% /
/dev/sda3 499432 16 499416 1% /boot/efi
/dev/sdb1 76829444 2097184 70783820 3% /mnt/resource
tmpfs 788240 0 788240 0% /run/user/1002
上記のコマンドで HD の使用量を知ることができます。/dev/sda2 が 100%になっていることが分かりますよね。こいつが原因か!ってなるわけです。
次にどのフォルダが占有しているのだ!?!
占有しているデータがどのフォルダに入っているのだろうかと言うことでそれを調べる必要があります。
[root@ssec-jp ~]# sudo du -h --max-depth=1 /
450M /boot
84K /dev
0 /proc
17M /run
0 /sys
37M /etc
104K /root
5.3G /var
2.6G /usr
21G /home
0 /media
2.1G /mnt
183M /opt
0 /srv
4.0K /tmp
31G /
上記のコマンドで、一階層でのフォルダごとの仕様状況を把握していきます。これで、一目瞭然でhome
フォルダ(21G)が原因だなとわかるわけです。そして、その下のフォルダを/
の部分を次のステップとして/home/
として同じ処理をしたら、その下の階層の一階層でのサイズの大きなフォルダを探してくれるので、それで解決できると言うことになります。