root Linux penuh. Tidak ada blok gratis

9

df -hmelaporkan partisi '/' menjadi 100% penuh. Saat berjalan du -hs *di setiap direktori partisi ini menunjukkan masih ada banyak ruang.

tune2efsyang melaporkan hanya satu blok untuk bebas. Berlari fsckjuga, yang juga menampilkan semua blok yang digunakan.

Penggunaan ionode adalah 14% pada partisi '/'.

Harap dicatat bahwa / var, / usr, / dev, / tmp, / home dipasang pada partisi yang berbeda dan memiliki ruang di dalamnya.

Bisakah Anda memberi tahu saya kemungkinan penyebab semua blok untuk ditempati dan pelaporan disk menjadi penuh meskipun sulit ada banyak ruang.

Ankit
sumber
1
file log apa yang Anda hapus baru-baru ini?
Mike
Coba du -shx /dan lihat apakah masih ada banyak ruang. Itu akan mengevaluasi semua /tanpa mengandalkan Anda menangkap semua direktori yang mungkin.
Insyte
du -shx / 188M Partisi '/' berukuran 2GB.
Ankit

Jawaban:

13

Selain masalah file terbuka yang biasanya menyebabkan ruang kosong tidak tersedia, masalah yang tidak jarang terjadi adalah file dilindungi oleh poin mount. Sebagai contoh jika Anda memiliki /tmpvolume logis yang terpisah tetapi masih memiliki file dalam direktori /tmpdi sistem file root, file-file itu akan memakan ruang tetapi akan disembunyikan oleh mount.

Cobalah turun ke mode pengguna tunggal saat boot sehingga tidak ada yang berjalan yang dapat membuat mount terbuka, unmount semuanya, dan pastikan tidak ada file yang bersembunyi di direktori yang biasanya digunakan sebagai titik mount.

David Spillett
sumber
1
Terima kasih David atas idenya. Saya pergi bekerja ke arah ini. Mengetahui bahwa HDD USB terpasang ke mesin. Mesin itu dinyalakan kembali di pagi hari. Tampaknya HDD tidak terdeteksi saat boot up dan beberapa datanya masuk ke partisi '/'. Saya pikir ini ketika saya melepas / tmp dan titik mount drive eksternal.
Ankit
11

Ini sering disebabkan oleh memiliki file yang terbuka untuk penulisan yang telah dihapus tetapi proses penulisan ke file tersebut belum dimulai kembali sehingga melepaskan file tersebut. Anda dapat menggunakan lsof untuk menemukan file yang terbuka tetapi tidak ditautkan (dihapus)

lsof +L1

harus melakukan trik. Seperti yang dinyatakan halaman manual:

Spesifikasi formulir +L1akan memilih file terbuka yang telah dibatalkan tautannya. Spesifikasi formulir +L1 <file_system>akan memilih file terbuka yang tidak ditautkan pada sistem file yang ditentukan.

user9517
sumber
lsof + L1 tidak memberikan apa-apa. yaitu tidak ada file tanpa tautan terbuka. Ada lagi yang bisa saya periksa.
Ankit
Ini memungkinkan saya menemukan penyebab di sistem saya - tidak ada hubungannya dengan volume yang dilindungi gunung. Saya memiliki proses cadangan yang menggantung yang telah menghabiskan 90% volume root dalam file temp. lsof +L1mendaftar semuanya dengan sangat sederhana.
Sinkronisasi
0

Jika file dihapus sementara proses lain menahannya, proses itu dapat terus menulis dan, akhirnya, mengisi disk. Segera setelah proses menahan membuka file keluar, blok tersedia.

Coba evaluasi masing-masing daemon yang sedang berjalan. Jika memungkinkan, mulai ulang. Jika Anda tidak bisa mengetahuinya, me-reboot kotak itu akan menghapusnya.

Insyte
sumber
Reboot sistem, jalankan fsck, tidak ada yang membantu.
Ankit