Mengapa hasil du dan kuota tidak cocok?

8

Saya telah melampaui kuota disk saya pada sistem yang saya tidak punya akses root. Saya mencoba menghapus file lama tetapi masih berakhir. Saya mencoba berlari duuntuk menemukan di mana saya menggunakan semua ruang saya tetapi melaporkan saya menggunakan sangat sedikit.

Hasil dari quota

   /home/1234$ quota -s
   Disk quotas for user 1234 (uid 1234): 
        Filesystem   space   quota   limit   grace   files   quota   limit   grace
       cslab:/home   4519M*  4096M   5120M   09:47    6155       0       0 

Dari du

   /home/1234$ du -mad 1
   ...
   936     total

Saya tidak mengerti mengapa quotamengatakan saya menggunakan 4.5GB sementara duhanya menghitung .9GB. Saya juga memeriksa file yang saya miliki /tmpdan ada file senilai 50MB di sana. Di mana file 3,5GB lainnya berada? Apakah mungkin sistem kuota salah dan perlu diatur ulang?

Brandon Clements
sumber
Periksa apakah Mengapa ada begitu banyak cara untuk mengukur penggunaan disk? membantu. Apakah ini lebih dari NFS? Mungkin ada beberapa caching.
Gilles 'SO- stop being evil'

Jawaban:

2

Saya percaya mungkin ada beberapa file yang masih terbuka oleh beberapa proses. Anda dapat mencoba daftar mereka menggunakan,

lsof | grep username | grep deleted

Versi yang lebih baik akan digunakan,

lsof +L1 | grep username

Namun, kadang-kadang mungkin ada perbedaan dalam output antara dudan quotayang dijelaskan dalam tautan ini . Kutipan dari tautan,

Di Unix, perintah du dan kuota dapat melaporkan nilai yang berbeda. Alasan untuk perbedaan ini adalah bahwa proses yang berjalan melalui sistem file, memeriksa kuota, dan memperbarui tabel penggunaan hanya berjalan pada waktu tertentu. Oleh karena itu, akan ada periode antara pemeriksaan kuota bahwa perintah kuota -v akan melaporkan penggunaan disk yang salah. Gunakan perintah du untuk informasi paling akurat tentang ukuran file Anda.

Ramesh
sumber
Saya sudah mencoba ini tetapi tidak ada file yang dihapus terbuka.
Brandon Clements
@BrandonClements, Apakah tautan ini bermanfaat?
Ramesh
Tautan itu bermanfaat, saya tidak menganggap bahwa kuota hanya diperbarui secara berkala. Saya harus menunggu dan melihat apakah ini memang masalah saya, tetapi saya pikir itu masalah saya. Bisakah Anda memindahkan tautan dan deskripsi singkat ke dalam jawaban Anda.
Brandon Clements
@BrandonClements, diperbarui. Beri tahu saya jika Anda membutuhkan informasi lebih lanjut!
Ramesh
Sepertinya itu diperbaiki sendiri dalam semalam. Bagi orang lain yang membaca jawaban ini, saya akan perhatikan bahwa menghapus file kecil tampaknya memiliki efek langsung pada kuota saya jadi saya tidak yakin ini masalahnya. Tampaknya memang demikian.
Brandon Clements
2

quota bekerja dengan menanyakan sistem file untuk blok yang sebenarnya ditempati oleh file Anda.

du bekerja dengan memindai direktori secara rekursif untuk file Anda.

Kedua metode ini dapat menghasilkan hasil yang berbeda. Misalnya, ketika Anda "menghapus" file, maka file itu tidak lagi terlihat saat mendaftar direktori. Namun, blok pada disk tidak benar-benar dibebaskan sampai file terakhir yang ditangani ditutup. Dalam hal ini, file tidak terlihat du, tetapi masih diperhitungkan terhadap kuota Anda.

200_sukses
sumber