Rain Wiki · Linux

Inodes dan 'No space left on device'

Apa itu inode, cara melihat penggunaan inode dengan df -i, dan cara menemukan direktori dengan jutaan file berukuran kecil.

Linux · Rain Wiki

Inode adalah struktur data yang digunakan oleh sistem file bergaya Unix untuk menyimpan informasi tentang file, seperti pemilik, izin, ukuran, dan tempat data tersebut berada. Setiap file menggunakan satu inode, dan banyak sistem file memiliki jumlah yang tetap, sehingga jutaan file kecil dapat menyebabkan 'No space left on device' sementara df -h tetap menunjukkan ruang kosong.

Cara melihatnya

'df -i' mencantumkan total, inode yang digunakan, dan inode bebas per sistem file. 'ls -i' menunjukkan nomor inode file, dan 'stat <file>' menunjukkan detail inodenya.

Penyebab umum

Direktori sesi atau tembolok aplikasi web, antrean surat (mail queue), file log kecil yang tidak dirotasi, dan tembolok build dapat membuat jutaan file.

Menemukan direktori

GNU du dapat menghitung inode: 'du --inodes -x / | sort -n | tail' mencantumkan direktori dengan entri terbanyak.

Cara memperbaiki kehabisan inode

  1. Konfirmasi: df -i (IUse% mendekati 100%).
  2. Temukan direktori: sudo du --inodes -x --max-depth=3 / | sort -n | tail -20
  3. Periksa apa yang membuat file-file tersebut sebelum menghapus apa pun.
  4. Hapus file lama dari aplikasi tersebut dengan alatnya sendiri, atau dengan find, contohnya: find /path -type f -mtime +7 -delete setelah melakukan uji coba (dry run) tanpa -delete.

Perhatian

  • Selalu jalankan find tanpa -delete terlebih dahulu dan baca daftarnya.
  • Jumlah inode ext4 bersifat tetap saat sistem file dibuat.

Sumber

Terakhir diperbarui: 2026-10-08

Artikel terkait