ディスク容量がいっぱいになったとき
ディスクがいっぱいになると、プログラムがファイルを保存できずにエラーが出たり、DBが止まったり、ひどい場合はSSH接続もうまくできなくなったりします。何が容量を占めているかを見つけて、安全に整理する方法です。
1. 残り容量の確認
df -h /
Use%が90%を超えていたら、整理が必要です。
2. 何が大きいかを探す
sudo du -xh / --max-depth=1 2>/dev/null | sort -h | tail -n 15
一番下に表示された大きなフォルダーに入りながら、同じコマンドを繰り返します。たとえば/varが大きい場合:
sudo du -xh /var --max-depth=1 2>/dev/null | sort -h | tail -n 15
ncduをインストールすると、矢印キーでフォルダーを行き来しながらサイズを確認できるので、より便利です。(qで終了)
sudo apt install -y ncdu
sudo ncdu -x /
3. 安全に削除できるもの
システムログ
sudo journalctl --disk-usage # 現在のログのサイズを確認
sudo journalctl --vacuum-size=200M # 直近の200MBだけ残して整理
インストールファイルのキャッシュと使っていないパッケージ
sudo apt clean
sudo apt autoremove -y
Dockerを使っている場合
Dockerは、使っていないイメージやビルドキャッシュがたまって、容量を多く占めます。
docker system df # Dockerが使っている容量を確認
docker system prune # 停止したコンテナ、使っていないイメージ・ネットワーク・ビルドキャッシュを整理
docker system prune -a --volumesのようにオプションを付けると、データが入っているボリュームまで削除されることがあります。 何が削除されるかを確認してから使ってください。
pm2のログ
pm2でボットやアプリを動かしている場合は、ログファイルが大きくなり続けます。
pm2 flush # これまでにたまったログを空にする
pm2 install pm2-logrotate # 今後はログが一定のサイズを超えたら自動で整理
マインクラフトのログと古いバックアップ
マインクラフトのサーバーフォルダーのlogsにある古い.log.gzファイルは削除してかまいません。サーバー内にためておいたバックアップファイルは、自分のPCにダウンロードしてから古いものから削除してください。
4. 削除したのに容量が変わりません
実行中のプログラムが開いているファイルは、削除してもそのプログラムが終了するまで容量が戻りません。そのプログラムを再起動するか、サーバーを再起動すると反映されます。
sudo lsof +L1 2>/dev/null | head # 削除されたがまだ開かれているファイルの一覧
lsofがない場合は、sudo apt install -y lsofでインストールします。
注意点
/bin、/usr、/etc、/boot、/libなどのシステムフォルダー内のファイルは、直接削除しないでください。サーバーが起動しなくなることがあります。- 整理しても足りない状態が続く場合は、ディスクがより大きいプランへの移行を検討してください。新しいサーバーへの移行
Windowsサーバー
- 設定 → システム → ストレージ → 一時ファイルで、不要な項目を選んで整理します。
- ダウンロードフォルダーとごみ箱に大きなファイルが残っていないか確認します。