環境
状況
状況①:定期実行しているJobで不自然なログが出力されるようになった
状況②:原因を解析するために
TeraTerm(ssh)
でログイン、その後cd
コマンドを実施してもエラーが発生する
$ cd auto-bash: ヒアドキュメント用一時ファイルを作成できません: デバイスに空き領域がありませんす
→Linuxでdisk full、ディスクが一杯の状態
であることを示している。
- 状況③:Disk残量を確認する(DiskFullを確認する)
df -h --total
- 以下は参考イメージです(記録し忘れたので、、、)
ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/mapper/centos-root 152G 20K 152G 100% / ←ココが枯渇していた devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 219M 3.7G 6% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/sda1 1014M 285M 730M 29% /boot tmpfs 783M 12K 783M 1% /run/user/42 /dev/sr0 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64 total 173G 20G 154G 12% -
対応方法
考え方
- 手順①:サーバーの再起動を実施
- →余計なpidファイルとか、tmpファイルが消える。
- →
cdコマンド
、rmコマンド
が利用可能になる
- 手順②不要なディレクトリを削除して容量を確保する
手順1:サーバの再起動
reboot
reboot
コマンドで以下のErrorが発生した
[ ~]$ reboot User root is logged in on sshd. User root is logged in on sshd. User root is logged in on seat0. Please retry operation after closing inhibitors and logging out other users. Alternatively, ignore inhibitors and users with 'systemctl reboot -i'.
- 1台のPC内で複数の
TeraTerm
を起動し、並列でアクセスしている状態で、再起動コマンドを実行した際に発生したエラー表示TeraTerm
が複数起動(かつ同一のマシンに接続)している場合は再起動できない
↓
rebootコマンドを入力する接続
以外は、切断することで解消されます
手順2:ディスクの使用状況を確認する
- 少し空きが増えてることが確認できるはずです。
df -h --total
手順3:サイズが大きくなっているディレクトリを調べる
// 実行したディレクトリ、及び配下のディレクトリについて使用データサイズを抽出する // (DiskFull位データがたくさんあると、算出に時間がかかると思います。) du // 合計値のみを表示する du -s
※ 私はcd
コマンドで対象ディレクトリへ移動しながらdu -s
を実施しました
手順4:不要データ(ディレクトリごと)削除
rm -r (ディレクトリ名)
利用したUnixコマンド
reboot
(サーバーを再起動する)
reboot
df
(ディスクの残量を確認する)
df -h --total
du
(ディレクトリ配下の容量を確認する)
// 詳細表示 du // 合計値表示 du -s
rm
(ディレクトリ配下をまとめて削除する)
rm -r (ディレクトリ名)