Masalahnya adalah bahwa 'du' harus menghitung setiap objek di sub-tree. Ini adalah operasi intensif metadata, dan membutuhkan waktu cukup lama untuk sebagian besar sistem file Linux. Beberapa sistem file, NTFS dan Novell NSS muncul di benak, memiliki kemampuan untuk melacak ukuran direktori seperti ini dalam metadata yang membuat operasi ini jauh lebih cepat. Secara umum, jika sistem file Anda mendukung kuota direktori, ia harus melacak data ini secara internal untuk penegakan, setiap perubahan ukuran direplikasi hingga pohon direktori ke kuota-point (NTFS) atau setiap direktori (NSS ) ketika itu terjadi, jadi mendapatkan ukuran direktori-tree sangat cepat.
Sayangnya, tidak ada cara untuk membuat du bekerja lebih cepat, hanya bekerja-sekitar.
- Jalankan 'du' dalam mode batch dan hidup dengan hasil non-live
- Buat sistem file baru dan gunakan 'df' sebagai gantinya
- Buat file besar yang akan menampung direktori Anda, mountback-mount, format, dan gunakan 'df' sebagai gantinya pada mount-point baru itu. Jika Anda membutuhkan lebih banyak ruang, lepaskan pemasangan loopback, perpanjang file, dan pasang kembali.
Memberi Anda ukuran dalam format KB / MB / GB manusia dari direktori kerja Anda saat ini.
sumber
Dengan alat standar Anda harus mendapatkan ukuran setiap file dalam direktori setiap kali Anda ingin mengetahui ukuran total. Cara yang mungkin lebih efisien untuk melakukannya adalah dengan memiliki "monitor ukuran direktori", yang melacak ukuran direktori saat ini. Tidak ada hal seperti itu (yang saya tahu), tetapi Anda bisa menerapkannya dengan
inotify
. Mungkin tidak dengan bash (daninotify-tools
), tetapi Anda mungkin bisa menggunakan python dan pyinotify, misalnya.sumber
Anda mungkin menemukan
gt5
berguna. Ini menyimpandu
informasi terbaru dan melakukan perbedaan terhadap itu saat dijalankan berikutnya. Ini menampilkan outputnya menggunakan browser mode teks sepertilinks
.sumber
Juga, pertimbangkan opsi -x pada du - "satu sistem file" jika Anda melakukan
Anda hanya akan melihat ringkasan penggunaan disk di partisi root Anda, dan itu tidak akan mencoba menambahkan / proc, / sys, / dev, dan seterusnya ...
sumber
jika Anda hanya ingin penggunaan disk untuk sistem file root, maka
df -j /
sumber
Tidak. Bisakah Anda melakukan du piped secara berkala ke file teks, dalam sebuah cron job yang diatur untuk dijalankan dalam semalam, sehingga Anda tidak memiliki data terkini yang segera tersedia?
Perhatikan bahwa mengukur ruang disk yang digunakan oleh folder yang berisi no besar file di Windows juga membutuhkan waktu.
sumber
df -h akan melakukan triknya
sumber
df -kh /
ini akan menunjukkan jumlah ruang disk yang digunakan dan tersedia.
sumber
Mungkin
teks tambahan karena jawaban singkat dan ringkas tidak cukup bagi serverfault untuk menganggap saya manusia.
sumber
Untuk menemukan ruang di bawah direktori itu saja, daftar bukan
/
. Untuk menemukan ruang di bawah direktorifoo
danbar
, daftarkan keduanya:sumber
Anda harus menggunakan dnotify untuk menghitung penggunaan disk jika sistem file tidak sering diubah.
sumber