Cakera 100% penuh lebih teruk daripada yang disangka: pangkalan data menolak penulisan, laman melontar ralat 500, malah log berhenti merekod — membuatkan anda buta. Berikut prosedur standard dari mengesan hingga membersih.
Langkah 1: nilai secara keseluruhan
Jalankan df -h untuk melihat penggunaan setiap partition dan sahkan sama ada partition akar atau titik lekap tertentu yang penuh. Jika inode habis (df -i menunjukkan 100%) sedangkan ruang masih ada, anda ada masalah fail kecil yang banyak — pendekatan sama, tetapi buru direktori dengan bilangan fail besar.
Langkah 2: kesan direktori besar
Gali dari akar: du -h --max-depth=1 / 2>/dev/null | sort -rh | head. Masuk direktori terbesar dan ulang — dua tiga pusingan menemui puncanya.
Lima suspek biasa
- Log: log berputar di bawah /var/log dan log yang ditulis aplikasi anda. Kecilkan jurnal sistem dengan
journalctl --vacuum-size=200Mdan konfigurasikan logrotate untuk log aplikasi; - Docker: imej tergantung dan cache binaan memakan ruang besar — periksa dengan
docker system df, bersihkan dengandocker system prune(pastikan tiada yang sedang diguna terpadam); - Sandaran lama: skrip sandaran yang hanya menambah tanpa memadam memenuhi cakera dalam beberapa bulan — tambah polisi pengekalan;
- Cache pakej:
apt cleanmembebaskan cache muat turun; - Fail dipadam tetapi masih terbuka: ruang tidak dibebaskan selagi proses memegang fail yang dipadam — cari dengan
lsof | grep deleteddan mulakan semula proses itu.
Dua peraturan besi semasa membersih
Pertama, lihat sebelum padam: sahkan kegunaan fail — jangan sesekali rm direktori pangkalan data atau log yang sedang ditulis. Kedua, potong fail besar yang aktif dan bukannya memadam: mengosongkan log aktif dengan truncate -s 0 lebih selamat daripada membuangnya. Selepas itu, tetapkan amaran penggunaan cakera (amaran melebihi 80%) supaya insiden seterusnya tidak mencapai 100%.