Mengapa Windows Defragmenter hampir tidak melakukan apa pun pada disk dengan ruang kosong 23%?

8

Saat mencoba mendefragmen volume 80 GB NTFS (ukuran 4 KB) pada Windows XP, saya mengalami masalah aneh: proses defragmentasi sangat cepat, tetapi juga sangat tidak berguna. Secara grafis, saya bisa melihat beberapa file bergerak di sekitar, tetapi tingkat fragmentasi tetap sama.

Begini tampilannya setelah volume didefragmentasi:

Gambar adalah tangkapan layar Windows Defragmenter pada Windows XP, dengan dua tampilan grafis disk: sebelum dan sesudah;  keduanya sangat mirip, dan menyajikan defragmentasi berat

Saya tahu ada batas ruang bebas 15%. Sebenarnya, volumenya gratis di 23%.

Tentu saja, Windows Defragmenter menunjukkan banyak file yang tidak dapat didefrag. Beberapa berukuran besar (hingga 1 GB), tetapi tidak terlalu besar untuk tidak dapat memindahkannya selama defragmentasi. Tidak termasuk, saya bayangkan, hiberfil.sys dan pagefile.sys (mereka tidak bergerak, bukan?).

Bagaimana cara mendiagnosis masalah ini?

PS. Menginstal produk perangkat lunak defragmentasi lainnya, seperti yang disarankan pada pertanyaan serupa , bukan solusi dalam kasus saya.

Arseni Mourzenko
sumber
15% bukan batas keras, hanya perkiraan kasar.
user1686
1
Mungkin saja fragmen-fragmen itu cukup besar sehingga biaya untuk memindahkannya sama atau lebih besar daripada manfaat memindahkannya bersama.
surfasb
Apakah file undefragmentable besar kebetulan terbuka? Bisakah Anda menyebutkan beberapa yang besar yang benar-benar terfragmentasi?
William C
@ William C: itu adalah file pribadi pengguna (termasuk yang bukan pengguna yang login). Mereka tidak digunakan selama defragmentasi.
Arseni Mourzenko

Jawaban:

5

Defragmenter tidak memiliki tempat untuk memindahkan file-file besar ke: semua ruang kosong agak terdistribusi secara merata dalam potongan-potongan kecil, sehingga tidak akan ada perbaikan jika $ VERYBIGFILE diubah dari, katakanlah, 20 potong tutup menjadi 10 tersebar di seluruh potongan.

Salah satu langkah yang dilakukan oleh defragmenter adalah pemadatan file, di mana file-file yang berdekatan tetapi terpisah diaduk-aduk untuk membentuk satu blok data tunggal. Coba jalankan ini beberapa kali, dan itu akan menjadi lebih baik dari waktu ke waktu.

Anda juga dapat mencoba contig -v somebigfilemendefrag file satu per satu.

pengguna1686
sumber
4

Coba reboot ke mode Aman, dan kemudian matikan layanan sebanyak mungkin. Buka file tidak akan dipindahkan atau dirusak, jadi ide untuk dijalankan dengan proses sesedikit mungkin.

Atau lepaskan drive, dan instal (sebagai drive data) pada PC lain untuk dirusak.

serbuk gergaji
sumber
1

Anda dapat menonaktifkan hibernasi dan itu harus menghapus hiberfil.sys. Jika tidak, Anda dapat menghapusnya secara manual setelah hibernasi dinonaktifkan. Anda juga dapat menonaktifkan pagefile Anda. Setelah dua file besar yang tidak terdefragmentasi hilang, Anda mungkin memiliki hasil defragmenting yang lebih baik. Setelah itu selesai Anda dapat mengaktifkan kembali pagefile dan hibernasi. Mudah-mudahan, setelah volume didefragmentasi, dua file lainnya akan ditempatkan dalam file yang berdekatan.

Keltari
sumber
1

Sysinternals memiliki utilitas File Halaman Defrag . Saya tidak yakin bagaimana cara kerjanya dengan disk yang diatur seperti itu, tetapi mungkin patut dicoba untuk mengatur file-file yang lebih besar dan keluar dari sana sehingga defrag standar Anda dapat lebih efektif mendapatkan di file lain.

music2myear
sumber
1

Jika defragging dalam safe mode tidak membantu, maka baik

  • Kosongkan folder prefetch dan superfetch Anda. (Shudder!) Folder-folder ini memberitahu Defrag untuk tidak men-defrag file-file tertentu, yang merupakan kebalikan dari apa yang Anda inginkan,

atau

  • Hapus drive dan defrag saat terhubung ke komputer lain. Ini memastikan bahwa file yang terbuka sesedikit mungkin dan bahwa Defrag tidak mempertimbangkan data PF Anda.
William C
sumber