Saya menjalankan Linux Mint 14 Nadia. Partisi Linux memiliki 10G. Saat sistem dimulai, du
melaporkan penggunaan 80%. Kemudian penggunaannya perlahan-lahan tumbuh hingga mencapai 100% dan sistem menjadi tidak dapat digunakan. (Itu bisa terjadi berdasarkan urutan hari atau minggu). Setelah reboot, pengaturan ulang ke 80%.
Yang paling aneh dari semua itu adalah du
tidak ada perubahan.
Berikut ini adalah output dari perintah tersebut (partisi drive Windows dan eksternal dihilangkan):
# --- Just after reboot ---
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.8G 7.3G 2.0G 80% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 428M 292K 428M 1% /dev
tmpfs 88M 1.3M 87M 2% /run
none 5.0M 0 5.0M 0% /run/lock
none 437M 288K 437M 1% /run/shm
none 100M 12K 100M 1% /run/user
$ sudo du -x -d1 -h /
186M /opt
512M /var
11M /sbin
556K /root
1.3G /home
613M /lib
8.0K /media
4.6G /usr
16K /lost+found
111M /boot
39M /etc
4.0K /mnt
60K /tmp
9.1M /bin
4.0K /srv
7.3G / # <-- note this
# --- After some time ---
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.8G 9.1G 199M 98% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 428M 292K 428M 1% /dev
tmpfs 88M 1.3M 87M 2% /run
none 5.0M 0 5.0M 0% /run/lock
none 437M 27M 411M 7% /run/shm
none 100M 28K 100M 1% /run/user
$ sudo du -x -d1 -h /
186M /opt
511M /var
11M /sbin
556K /root
1.4G /home
613M /lib
8.0K /media
4.6G /usr
16K /lost+found
111M /boot
39M /etc
4.0K /mnt
520K /tmp
9.1M /bin
4.0K /srv
7.3G / # <-- note this
(Catatan: Saya menggunakan hibernasi. Setelah hibernasi, penggunaannya tetap sama, dan setelah reboot, reset ke 80%.)
Bagaimana cara melacak apa yang memakan ruang?
Saya sudah membaca pertanyaan ini . Saya masih dalam kegelapan. Bagaimana saya mengetahui program mana yang bertanggung jawab atas perilaku ini?
Setelah diedit : ditemukan. Ruang diklaim oleh log kernel, yang dilihat oleh dmesg
. Mengisi karena mesin saya menghasilkan kesalahan pada tingkat 5 per detik. (Ini terkait dengan bug ini .) Biarkan pembaca yang akan datang dengan masalah yang sama - mengisi ruang disk secara perlahan du
- dengan jangan lupa untuk mencoba dmesg
mencari penyebabnya.
sumber
ncdu
daripada sekadardu
mencari file besar | direktori. Itu memindai seluruh pohon direktori sebelum memungkinkan Anda melakukan apa pun; Anda mungkin ingin memberikannya jalur khusus (mis.ncdu /var
atau bahkan hanyancdu ~
)Jawaban:
Eksekusi berulang
(turun pohon direktori) harus memberi tahu Anda di mana ruang dikonsumsi. Itu mungkin menjelaskan tanpa penyelidikan lebih lanjut aplikasi mana yang menyebabkan itu.
file tidak terlihat
Jika
du
tidak menampilkan file-file ini maka salah satu kemungkinan adalah file yang dihapus. File (atau lebih tepatnya: namanya yaitu entri dalam direktori) dapat dihapus saat file masih digunakan. Selama ada deskriptor file yang valid menunjuk pada file ini mencakup ruang pada volume (jika bukan file kosong ...).Anda dapat menemukan file-file ini dengan
find
:Ini mungkin satu file besar tunggal atau banyak file kecil yang menyebabkan masalah Anda. Ada sekitar 30 file seperti itu di sistem saya sekarang (hanya milik lima proses).
ls -l
menunjukkan ukuran file-file ini tetapi tampaknya tidak mungkin untuk mendapatkan nilai ini darifind
.Setelah membunuh proses, ruang menjadi tersedia untuk sistem file (
df
) lagi.sumber
du
melaporkan tidak ada perubahan dalam ruang yang dikonsumsi: 7.3G saat mulai dan 7.3G setelah waktu berlalu.df
melaporkan 7.3G gratis di awal dan hingga 10G seiring berjalannya waktu. Saya tidak dapat menemukan masalah dengandu
.Gunakan sesuatu seperti
untuk melihat proses mana yang membuat file yang dihapus tetap terbuka. Kolom penting adalah yang kedua (PID), dan yang kedelapan (ketiga dari terakhir; ukuran file).
(Perhatikan baris duplikat, jangan hitung dua kali. Periksa PID dan path file (bidang terakhir) atau nomor inode (bidang kedua ke terakhir).)
Setelah itu, jika Anda menemukan proses yang kemungkinan besar pelakunya, kita bisa melihat cara memperbaikinya.
sumber
sudo lsof -s | grep deleted | sort -hk7
mendapatkan semacam angka. Tanpa -h, sort melakukan hal-hal leksikal lucu dengan angka.Gunakan ini untuk menemukan rekursif apa yang mengisi lebih dari 10MB + dari
/
(root), dan menampilkannya dengan rincian banyak denganls -l
dixargs
. Jika Anda menulis 1000000 (2 angka nol tambahan) Anda bisa mendapatkan 1GB + misalnya.Anda juga dapat menggunakan du, dan cukup gali secara manual.
sumber
Setiap kali ini terjadi, saya selalu memulai fokus saya di sub-direktori tertentu. Struktur FHS yang dipatuhi oleh kebanyakan distro Linux dipikirkan dengan seksama.
Pertama melihat
/var
, diikuti oleh/home
.Anda dapat mempersempit fokus Anda ke sub-direktori di dalam salah satu lokasi itu juga. Setelah Anda lelah mencari di sana, saya biasanya pindah ke
/root
, dan terakhir sub-direktori yang tersisa di/
.Jika itu adalah distro berbasis Red Hat, cache yang
yum
digunakan untuk melakukan pembaruan mungkin menghabiskan banyak ruang. Anda dapat menggunakan perintah ini untuk menghapusnya:Distro lain yang menggunakan
apt
dapat melakukan hal serupaapt-get clean
,.Saya juga menjalankan perintah ini di bagian atas
/
direktori Anda , lokasi ini kadang-kadang dapat menjadi sumber untuk file log liar.Berikan perhatian khusus pada file dot! Hal-hal yang dinamai
.blah
, misalnya.sumber
timeshift
sedang memakan disk saya.Dipulihkan 50GB.
sumber
Saya punya situasi yang hampir sama.
Dalam kasus saya, alasannya adalah VMware. Salah satu VMware lain di mesin yang sama, ia mengkonsumsi ruang disk. Itu sebabnya penggunaan ruang disk saya adalah 100%.
Setelah menghapus file besar dari VMware tetangga, itu berfungsi dengan benar.
sumber