Mengapa mengosongkan ruang disk mempercepat komputer?


191

Saya telah melihat banyak video dan sekarang mengerti sedikit lebih baik bagaimana komputer bekerja. Saya lebih mengerti apa itu RAM, memori volatile dan non-volatile, dan proses swapping. Saya juga mengerti mengapa peningkatan RAM mempercepat komputer.

Saya tidak mengerti mengapa membersihkan ruang disk mempercepat komputer. Melakukannya? Kenapa bisa begitu? Apakah itu ada hubungannya dengan mencari ruang yang tersedia untuk menghemat? Atau dengan memindahkan barang di sekitar untuk membuat ruang terus menerus yang cukup lama untuk menghemat sesuatu? Berapa banyak ruang kosong pada hard disk yang harus saya tinggalkan gratis?


37
itu tidak benar-benar mempercepat PC, itu hanya mengurangi kemungkinan fragmentasi file yang membuat HDD lebih lambat. Ini adalah salah satu mitos PC terhebat yang diulang setiap orang. Untuk menemukan bootleneck pada PC, lacak dengan xperf / WPA.
magicandre1981

9
FWIW itu speeds up the experience of using a PC.
edthethird

4
@ magicandre1981: Ada permata kecil kebenaran. Semakin banyak hal dalam setiap folder, traversal file yang lebih lambat adalah, yang memengaruhi apa pun menggunakan filepath, yang merupakan ... segalanya. Tapi itu kecil .
Mooing Duck

4
@ MoooDuck Sementara benar, itu terkait dengan jumlah file dalam folder, bukan dengan ukuran file atau jumlah ruang yang tersisa di drive. Efek itu tidak terkait dengan ruang disk yang tersisa. Efeknya juga terbatas dalam cakupan folder itu sendiri, itu tidak akan "memperlambat" seluruh komputer. Beberapa sistem file, ext3 / 4 misalnya, menggunakan pohon direktori hash untuk melakukan pencarian (termasuk akses subfolder) dengan cepat, sehingga membatasi cakupan efek lebih, misalnya hanya ketika mendaftar isi direktori.
Jason C

4
Video apa yang sebenarnya Anda tonton?
Loko

Jawaban:


313

Di sini, saya menulis buku secara tidak sengaja. Dapatkan kopi dulu.

Mengapa mengosongkan ruang disk mempercepat komputer?

Tidak, setidaknya tidak dengan sendirinya. Ini adalah mitos yang sangat umum. Alasannya adalah mitos umum adalah karena mengisi hard drive Anda sering terjadi bersamaan dengan hal-hal lain yang secara tradisional dapat memperlambat komputer Anda. Kinerja SSD cenderung menurun ketika drive terisi , tetapi ini adalah masalah yang relatif baru, unik untuk SSD, dan tidak terlalu terlihat bagi pengguna biasa. Secara umum, ruang disk kosong yang rendah hanyalah herring merah .

Misalnya, hal-hal seperti:

  • Fragmentasi file. Fragmentasi file adalah masalah †† , tetapi kurangnya ruang kosong, sementara jelas salah satu dari banyak faktor yang berkontribusi, bukan satu-satunya penyebabnya. Beberapa poin penting di sini:

    • Kemungkinan file terfragmentasi tidak terkait dengan jumlah ruang kosong yang tersisa di drive. Mereka terkait dengan ukuran blok ruang bebas terbesar yang bersebelahan pada drive (misalnya "lubang" ruang kosong), di mana jumlah ruang bebas terjadi untuk menempatkan batas atas . Mereka juga terkait dengan bagaimana sistem file menangani alokasi file (lebih lanjut di bawah). Pertimbangkan: Drive yang 95% penuh dengan semua ruang kosong dalam satu blok yang berdekatan memiliki peluang 0% untuk memecah- mecah file baru chance (dan kemungkinan memecah-mecah file yang ditambahkan tidak tergantung pada ruang kosong). Drive yang penuh 5% tetapi dengan data yang tersebar merata di drive memiliki peluang fragmentasi yang sangat tinggi.

    • Ingatlah bahwa fragmentasi file hanya memengaruhi kinerja ketika file yang difragmentasi sedang diakses . Pertimbangkan: Anda memiliki drive defragmented yang bagus yang masih memiliki banyak "lubang" gratis di dalamnya. Skenario umum. Semuanya berjalan dengan lancar. Namun, akhirnya, Anda sampai pada titik di mana tidak ada lagi blok ruang kosong yang tersisa. Anda mengunduh film besar, file akhirnya menjadi sangat terfragmentasi. Ini tidak akan memperlambat komputer Anda. Semua file aplikasi Anda dan yang sebelumnya baik-baik saja tidak akan tiba-tiba menjadi terfragmentasi. Ini mungkin membuat filmmembutuhkan waktu lebih lama untuk memuat (meskipun kecepatan bit film tipikal sangat rendah dibandingkan dengan kecepatan baca hard drive yang kemungkinan besar tidak akan terlihat), dan itu mungkin mempengaruhi kinerja I / O-terikat saat film sedang dimuat, tetapi selain itu, tidak ada yang berubah.

    • Sementara fragmentasi file tentu menjadi masalah, sering kali efeknya dikurangi oleh OS dan buffering dan caching level perangkat keras. Tertunda menulis, membaca-depan, strategi seperti prefetcher di Windows, dll., Semua membantu mengurangi efek fragmentasi. Anda biasanya tidak benar - benar mengalami dampak yang signifikan sampai fragmentasi menjadi parah (saya bahkan berani mengatakan bahwa selama file swap Anda tidak terfragmentasi, Anda mungkin tidak akan pernah melihat).

  • Pengindeksan pencarian adalah contoh lain. Katakanlah Anda mengaktifkan pengindeksan otomatis dan OS yang tidak menangani ini dengan anggun. Saat Anda menyimpan lebih banyak dan lebih banyak konten yang dapat diindeks ke komputer Anda (dokumen dan semacamnya), pengindeksan mungkin memakan waktu lebih lama dan lebih lama dan mungkin mulai memiliki efek pada kecepatan yang dirasakan komputer Anda saat sedang berjalan, baik dalam penggunaan I / O dan CPU . Ini tidak terkait dengan ruang kosong, ini terkait dengan jumlah konten yang dapat diindeks yang Anda miliki. Namun, kehabisan ruang kosong berjalan seiring dengan menyimpan lebih banyak konten, maka sambungan palsu dibuat.

  • Perangkat lunak antivirus. Mirip dengan contoh pengindeksan pencarian. Katakanlah Anda memiliki perangkat lunak antivirus yang diatur untuk melakukan pemindaian latar belakang drive Anda. Karena Anda memiliki lebih banyak konten yang dapat dipindai, pencarian membutuhkan lebih banyak sumber daya I / O dan CPU, mungkin mengganggu pekerjaan Anda. Sekali lagi, ini terkait dengan jumlah konten yang dapat dipindai yang Anda miliki. Lebih banyak konten sering sama dengan lebih sedikit ruang kosong, tetapi kurangnya ruang kosong bukanlah penyebabnya.

  • Perangkat lunak yang diinstal. Katakanlah Anda memiliki banyak perangkat lunak yang diinstal yang dimuat saat komputer Anda boot, sehingga memperlambat waktu start-up. Perlambatan ini terjadi karena banyak perangkat lunak sedang dimuat. Namun, perangkat lunak yang diinstal membutuhkan ruang hard drive. Oleh karena itu ruang kosong hard drive berkurang pada saat yang sama saat ini terjadi, dan sekali lagi koneksi yang salah dapat segera dibuat.

  • Banyak contoh lain di sepanjang garis-garis itu yang, ketika diambil bersama-sama, tampaknya sangat mengaitkan kurangnya ruang bebas dengan kinerja yang lebih rendah.

Di atas mengilustrasikan alasan lain bahwa ini adalah mitos yang umum: Walaupun kurangnya ruang bebas bukan merupakan penyebab langsung dari pelambatan, menghapus berbagai aplikasi, menghapus konten yang diindeks atau dipindai, dll. Kadang-kadang (tetapi tidak selalu; di luar ruang lingkup ini jawab) meningkatkan kinerja lagi untuk alasan yang tidak terkait dengan jumlah ruang kosong yang tersisa. Tapi ini juga secara alami membebaskan ruang hard drive. Oleh karena itu, sekali lagi, koneksi nyata (tetapi salah) antara "lebih banyak ruang kosong" dan "komputer lebih cepat" dapat dibuat.

Pertimbangkan: Jika Anda memiliki mesin yang berjalan lambat karena banyak perangkat lunak yang diinstal, dll., Dan Anda mengkloning, tepatnya, hard drive Anda ke hard drive yang lebih besar kemudian memperluas partisi Anda untuk mendapatkan lebih banyak ruang bebas, mesin tidak akan secara ajaib mempercepat naik. Perangkat lunak yang sama memuat, file yang sama masih terfragmentasi dengan cara yang sama, pengindeks pencarian yang sama masih berjalan, tidak ada perubahan meskipun memiliki lebih banyak ruang kosong.

Apakah itu ada hubungannya dengan mencari ruang memori tempat menyimpan sesuatu?

Tidak. Ada dua hal yang sangat penting yang perlu diperhatikan di sini:

  1. Hard drive Anda tidak mencari untuk menemukan tempat untuk meletakkan sesuatu. Hard drive Anda bodoh. Tidak apa. Ini adalah blok besar penyimpanan yang dialamatkan yang secara membabi buta menempatkan hal-hal di mana OS Anda memberitahu dan membaca apa pun yang diminta. Drive modern memiliki mekanisme caching dan buffering canggih yang dirancang untuk memprediksi apa yang OS akan minta berdasarkan pengalaman yang kami peroleh dari waktu ke waktu (beberapa drive bahkan mengetahui sistem file yang ada pada mereka), tetapi pada dasarnya, pikirkan drive Anda hanya sebagai bata besar penyimpanan dengan fitur kinerja bonus sesekali.

  2. Sistem operasi Anda juga tidak mencari tempat untuk meletakkan barang. Tidak ada "pencarian". Banyak upaya telah dilakukan untuk menyelesaikan masalah ini, karena sangat penting untuk kinerja sistem file. Cara data sebenarnya diatur pada drive Anda ditentukan oleh sistem file Anda. Misalnya, FAT32 (DOS lama dan PC Windows), NTFS (nantinya Windows), HFS + (Mac), ext4 (beberapa Linux), dan banyak lainnya. Bahkan konsep "file" dan "direktori" hanyalah produk dari sistem file biasa - hard drive tidak tahu tentang binatang misterius yang disebut "file". Detail berada di luar cakupan jawaban ini. Tetapi pada dasarnya, semua sistem file umum memiliki cara pelacakan di mana ruang yang tersedia pada drive sehingga pencarian ruang kosong, dalam keadaan normal (yaitu sistem file dalam kesehatan yang baik), tidak perlu. Contoh:

    • NTFS memiliki tabel file master , yang mencakup file khusus $Bitmap, dll., Dan banyak data meta yang menggambarkan drive. Pada dasarnya ia melacak di mana blok gratis berikutnya, sehingga file baru dapat ditulis langsung ke blok gratis tanpa harus memindai drive setiap saat.

    • Contoh lain, ext4 memiliki apa yang disebut "pengalokasi bitmap" , sebuah perbaikan dari ext2 dan ext3 yang pada dasarnya membantu secara langsung menentukan di mana blok bebas alih-alih memindai daftar blok gratis. Ext4 juga mendukung "alokasi tertunda", yaitu, buffering data dalam RAM oleh OS sebelum menuliskannya ke drive untuk membuat keputusan yang lebih baik tentang di mana meletakkannya untuk mengurangi fragmentasi.

    • Banyak contoh lainnya.

atau dengan memindahkan barang-barang untuk membuat ruang yang cukup panjang untuk menyimpan sesuatu?

Tidak. Ini tidak terjadi, setidaknya tidak dengan sistem file apa pun yang saya ketahui. File akhirnya terfragmentasi.

Proses "memindahkan barang-barang untuk membuat ruang berdampingan yang cukup lama untuk menyelamatkan sesuatu" disebut defragmenting . Ini tidak terjadi ketika file ditulis. Ini terjadi ketika Anda menjalankan defragmenter disk Anda. Pada Windows yang lebih baru, setidaknya, ini terjadi secara otomatis pada jadwal, tetapi tidak pernah dipicu dengan menulis file.

Mampu menghindari hal-hal seperti ini adalah kunci untuk kinerja sistem file, dan itulah sebabnya fragmentasi terjadi dan mengapa defragmentasi ada sebagai langkah terpisah.

Berapa banyak ruang kosong pada hard disk yang harus saya tinggalkan gratis?

Ini adalah pertanyaan sulit untuk dijawab, dan jawaban ini sudah berubah menjadi sebuah buku kecil.

Aturan praktis:

  • Untuk semua jenis drive:

    • Yang terpenting, sisakan ruang kosong yang cukup agar Anda dapat menggunakan komputer secara efektif . Jika Anda kehabisan ruang untuk bekerja, Anda akan menginginkan drive yang lebih besar.
    • Banyak alat defragmentasi disk memerlukan jumlah ruang kosong minimum (saya pikir yang ada di Windows memerlukan 15% kasus terburuk) untuk bekerja. Mereka menggunakan ruang kosong ini untuk sementara waktu menyimpan file yang terfragmentasi ketika hal-hal lain disusun ulang.
    • Sisakan ruang untuk fungsi OS lainnya. Misalnya, jika mesin Anda tidak memiliki banyak RAM fisik, dan Anda memiliki memori virtual diaktifkan dengan file halaman berukuran dinamis, Anda akan ingin meninggalkan ruang yang cukup untuk ukuran maksimum file halaman. Atau jika Anda memiliki laptop yang dimasukkan ke mode hibernasi, Anda akan memerlukan ruang kosong yang cukup untuk file status hibernasi. Hal-hal seperti itu.
  • Khusus SSD:

    • Untuk keandalan optimal (dan pada tingkat yang lebih rendah, kinerja) SSD memerlukan ruang kosong, yang, tanpa terlalu banyak merinci, mereka gunakan untuk menyebarkan data di sekitar drive untuk menghindari terus-menerus menulis ke tempat yang sama (yang membuatnya usang). Konsep meninggalkan ruang kosong ini disebut penyediaan berlebihan . Ini penting, tetapi di banyak SSD, ruang wajib yang disediakan lebih banyak sudah ada . Artinya, drive sering memiliki beberapa lusin GB lebih banyak daripada yang mereka laporkan ke OS. Drive kelas bawah sering mengharuskan Anda untuk secara manual meninggalkan ruang yang tidak dipartisi , tetapi untuk drive dengan OP wajib, Anda tidak perlu meninggalkan ruang kosong apa pun . Hal penting yang perlu diperhatikan di sini adalah ituruang yang terlalu banyak hanya diambil dari ruang yang tidak dipartisi . Jadi, jika partisi Anda mengambil seluruh drive Anda dan Anda meninggalkan beberapa ruang kosong di atasnya, itu tidak selalu masuk hitungan. Sering kali, pemberian secara manual mengharuskan Anda untuk mengecilkan partisi Anda menjadi lebih kecil dari ukuran drive. Periksa manual pengguna SSD Anda untuk detailnya. TRIM dan pengumpulan sampah dan semacamnya juga memiliki dampak tetapi itu berada di luar cakupan jawaban ini.

Secara pribadi saya biasanya mengambil drive yang lebih besar ketika saya memiliki sekitar 20-25% ruang kosong yang tersisa. Ini tidak terkait dengan kinerja, hanya saja ketika saya sampai pada titik itu, saya berharap bahwa saya mungkin akan kehabisan ruang untuk data segera, dan sudah waktunya untuk mendapatkan drive yang lebih besar.

Lebih penting daripada menonton ruang kosong adalah memastikan defragmentasi terjadwal diaktifkan jika sesuai (bukan pada SSD), sehingga Anda tidak pernah sampai pada titik di mana defragmentasi menjadi cukup buruk untuk mempengaruhi Anda. Yang sama pentingnya adalah menghindari tweak yang salah arah dan membiarkan OS Anda melakukan tugasnya, mis. Jangan nonaktifkan prefetcher Windows ( kecuali untuk SSD ), dll.


Ada satu hal lagi yang perlu disebutkan. Salah satu jawaban lain di sini menyebutkan bahwa mode setengah dupleks SATA mencegah membaca dan menulis pada saat yang bersamaan. Meskipun benar, ini sangat disederhanakan dan sebagian besar tidak terkait dengan masalah kinerja yang dibahas di sini. Artinya, secara sederhana, adalah bahwa data tidak dapat ditransfer ke dua arah pada kabel secara bersamaan. Namun, SATA memiliki spesifikasi yang cukup kompleks yang melibatkan ukuran blok maksimum yang sangat kecil (sekitar 8 kB per blok pada kabel, saya pikir), membaca dan menulis antrian operasi, dll., Dan tidak menghalangi penulisan ke buffer yang terjadi saat membaca sedang berlangsung, disisipkan operasi, dll.

Setiap pemblokiran yang terjadi akan disebabkan oleh persaingan untuk sumber daya fisik, biasanya dimitigasi oleh banyak cache. Mode duplex SATA hampir seluruhnya tidak relevan di sini.


"Melambat" adalah istilah yang luas. Di sini saya menggunakannya untuk merujuk pada hal-hal yang terikat I / O (misalnya jika komputer Anda duduk di sana angka-angka berderak, isi hard drive tidak berdampak), atau terikat dengan CPU dan bersaing dengan hal-hal terkait terkait yang memiliki penggunaan CPU yang tinggi (mis. perangkat lunak antivirus memindai banyak file).

†† SSD yang dipengaruhi oleh fragmentasi dalam akses sekuensial kecepatan umumnya lebih cepat daripada akses acak, meskipun SSD tidak menghadapi keterbatasan yang sama sebagai perangkat mekanik (bahkan kemudian, kurangnya fragmentasi tidak menjamin akses sekuensial, karena memakai leveling, dll , seperti yang dicatat James Snell dalam komentar). Namun, dalam hampir setiap skenario penggunaan umum, ini bukan masalah. Perbedaan kinerja karena fragmentasi pada SSD biasanya dapat diabaikan untuk hal-hal seperti memuat aplikasi, mem-boot komputer, dll.

††† Dengan asumsi sistem file waras yang tidak memecah- mecah file dengan sengaja.


Jawabannya sangat komprehensif, terima kasih. Juga terima kasih atas pengingat untuk mengambil kopi, itu sangat dihargai.
Hashim

22

Selain penjelasan Nathanial Meek untuk HDD, ada skenario berbeda untuk SSD.

SSD tidak peka terhadap data yang tersebar karena waktu akses ke sembarang tempat pada SSD adalah sama. Waktu akses SSD tipikal adalah 0,1 ms versus waktu akses HDD tipikal 10 hingga 15 ms. Namun, ini sensitif terhadap data yang sudah ditulis di SSD

Tidak seperti HDD tradisional yang dapat menimpa data yang ada, SSD membutuhkan ruang kosong untuk menulis data. Itu dilakukan oleh fungsi yang disebut Trim and Garbage Collection yang membersihkan data yang ditandai sebagai terhapus. Garbage Collection berfungsi paling baik dalam kombinasi dengan sejumlah ruang kosong pada SSD. Biasanya 15% hingga 25% ruang kosong direkomendasikan.

Jika pengumpulan sampah tidak dapat menyelesaikan pekerjaannya tepat waktu, maka setiap operasi penulisan didahului dengan pembersihan ruang ke tempat data seharusnya ditulis. Itu menggandakan waktu untuk setiap operasi penulisan dan menurunkan kinerja keseluruhan.

Berikut ini adalah artikel yang sangat bagus yang menjelaskan fungsi Trim and Garbage Collection


Perhatikan bahwa SSD DAPAT menulis ke sel-sel yang terisi sebagian, dengan membaca data parsial dan menulis kembali dengan lebih banyak tulisan, tetapi cenderung hanya melakukan itu ketika itu tidak dapat dihindari. Ini tentu saja juga sangat lambat, dan biasanya menunjukkan drive sangat terfragmentasi sehingga perlu cukup banyak untuk membuatnya pernah menulis dengan cepat lagi.
fluffy

Itu juga akan tergantung pada controller. Dan karena ada begitu banyak variasi saya tidak ingin masuk ke tingkat detail itu.
whs

15-25% yang Anda bicarakan disebut "penyediaan berlebihan". Beberapa drive sudah memiliki ruang wajib yang sudah dialokasikan untuk ini (misalnya 1TB EVO 840 memiliki 9% dicadangkan dan tidak dilaporkan ke OS sebagai bebas), bagi mereka yang tidak perlu meninggalkan ruang kosong. Saya percaya bahwa dalam beberapa kasus, ruang yang terlalu ditentukan harusnya juga tidak dipartisi, dan hanya meninggalkan ruang kosong pada sistem file Anda tidak memotongnya, Anda harus benar-benar meninggalkan ruang yang tidak terisi.
Jason C

Kelebihan ketentuan adalah hal lain. Itu adalah stand on stand-by untuk menggantikan yang cacat. 15-25% diperlukan untuk membebaskan blok (halaman) dan untuk meratakan keausan. Anda mungkin ingin membaca di sini untuk perincian ==> thessdreview.com/daily-news/latest-buzz/…
whs

@whs Bukan, dan artikel yang Anda tautkan tidak menyiratkan itu. Ruang yang ditentukan secara berlebihan (lihat juga sumber yang dikutip di bagian itu, atau Google) adalah kumpulan blok gratis, blok dalam kumpulan ini digunakan untuk pengumpulan sampah / penulisan cepat, perataan keausan, dan penggantian sel yang rusak. Sedangkan untuk mengganti sel yang rusak, semuanya ada dalam kelompok yang sama; setelah penuh dengan sel yang rusak, Anda mulai melihat kesalahan yang konsisten. Lihat juga slide 12 dalam presentasi ini dari LSI ; semuanya layak untuk dilalui, itu membahas topik secara langsung.
Jason C

12

Di suatu tempat di dalam hard disk tradisional adalah piring logam berputar di mana bit dan byte individu benar-benar dikodekan. Saat data ditambahkan ke piringan, pengontrol disk menyimpannya di bagian luar disk terlebih dahulu. Sebagai data baru ditambahkan ruang digunakan bergerak menuju bagian dalam disk terakhir.

Dengan mengingat hal ini, ada dua efek yang menyebabkan kinerja disk menurun saat disk terisi: Seek Times dan Rotational Velocity .

Carilah Times

Untuk mengakses data, hard disk tradisional harus secara fisik memindahkan kepala baca / tulis ke posisi yang benar. Ini butuh waktu, disebut "seek time". Pabrikan menerbitkan waktu pencarian untuk disk mereka, dan biasanya hanya beberapa milidetik. Itu mungkin kedengarannya tidak banyak, tetapi bagi komputer itu selamanya. Jika Anda harus membaca atau menulis ke banyak lokasi disk yang berbeda untuk menyelesaikan tugas (yang umum), mereka yang mencari waktu untuk dapat menambahkan hingga keterlambatan atau latensi yang nyata.

Drive yang hampir kosong akan memiliki sebagian besar datanya di atau dekat posisi yang sama, biasanya di tepi luar dekat posisi sandaran kepala baca / tulis. Ini mengurangi kebutuhan untuk mencari di seluruh disk, sangat mengurangi waktu yang dihabiskan untuk mencari. Drive yang hampir penuh tidak hanya akan perlu mencari di disk lebih sering dan dengan gerakan mencari yang lebih besar / lebih lama, tetapi mungkin mengalami kesulitan menjaga data terkait di sektor yang sama, semakin meningkatkan upaya mencari disk. Ini disebut data terfragmentasi .

Membebaskan ruang disk dapat meningkatkan waktu pencarian dengan memungkinkan layanan defragmentasi tidak hanya untuk lebih cepat membersihkan file yang terfragmentasi, tetapi juga untuk memindahkan file ke arah luar disk, sehingga waktu pencarian rata-rata lebih pendek.

Kecepatan rotasi

Hard drive berputar dengan kecepatan tetap (biasanya 5400rpm atau 7200rpm untuk komputer Anda, dan 10000rpm atau bahkan 15000 rpm di server). Ini juga membutuhkan jumlah ruang yang tetap pada drive (kurang lebih) untuk menyimpan sedikit pun. Untuk disk yang berputar pada laju rotasi tetap, bagian luar disk akan memiliki laju linier yang lebih cepat daripada bagian dalam disk. Ini berarti bit di dekat tepi luar disk bergerak melewati kepala baca dengan kecepatan lebih cepat daripada bit di dekat pusat disk, dan dengan demikian kepala baca / tulis dapat membaca atau menulis bit lebih cepat di dekat tepi luar disk daripada batin.

Sebuah drive yang hampir kosong akan menghabiskan sebagian besar waktunya mengakses bit di dekat tepi disk yang lebih cepat. Drive yang hampir penuh akan menghabiskan lebih banyak waktu mengakses bit di dekat bagian dalam disk yang lebih lambat.

Sekali lagi, mengosongkan ruang disk dapat membuat komputer lebih cepat dengan memungkinkan layanan defrag untuk memindahkan data ke bagian luar disk, di mana membaca dan menulis lebih cepat.

Kadang-kadang disk akan benar-benar bergerak terlalu cepat untuk kepala baca, dan efek ini berkurang karena sektor di dekat tepi luar akan terhuyung-huyung ... ditulis tidak beraturan sehingga kepala baca dapat mengikuti. Tapi secara keseluruhan ini berlaku.

Kedua efek ini turun ke pengontrol disk yang mengelompokkan data bersama-sama di bagian yang lebih cepat dari disk terlebih dahulu, dan tidak menggunakan bagian yang lebih lambat dari disk hingga harus. Saat disk terisi, semakin banyak waktu yang dihabiskan di bagian yang lebih lambat dari disk.

Efeknya juga berlaku untuk drive baru. Semua sama, drive 1TB baru lebih cepat daripada drive 200GB baru, karena 1TB menyimpan bit lebih dekat bersama-sama dan tidak akan mengisi ke trek batin secepat. Namun, mencoba untuk menggunakan ini untuk menginformasikan keputusan pembelian jarang membantu, karena produsen dapat menggunakan beberapa piring untuk mencapai ukuran 1TB, piring-piring yang lebih kecil untuk membatasi sistem 1TB hingga 200GB, pembatasan perangkat lunak / pengontrol disk untuk membatasi piring 1TB menjadi hanya 200GB dari ruang, atau menjual drive dengan piring-piring sebagian selesai / cacat dari drive 1TB dengan banyak sektor buruk sebagai drive 200GB.

Faktor lain

Perlu dicatat di sini bahwa efek di atas cukup kecil. Insinyur perangkat keras komputer menghabiskan banyak waktu bekerja untuk meminimalkan masalah ini, dan hal-hal seperti buffer hard drive, caching Superfetch, dan sistem lain semuanya bekerja untuk meminimalkan masalah. Pada sistem yang sehat dengan banyak ruang kosong, Anda bahkan tidak akan menyadarinya. Selain itu, SSD memiliki karakteristik kinerja yang sangat berbeda. Namun, efeknya memang ada, dan komputer secara sah menjadi lebih lambat saat drive terisi. Pada sistem yang tidak sehat , di mana ruang disk sangat rendah, efek ini dapat menciptakan situasi meronta-ronta disk, di mana disk terus-menerus mencari bolak-balik di seluruh data yang terfragmentasi, dan membebaskan ruang disk dapat memperbaikinya, menghasilkan peningkatan yang lebih dramatis dan nyata .

Selain itu, menambahkan data ke disk berarti operasi tertentu lainnya, seperti pengindeksan atau pemindaian AV dan proses defragmentasi hanya melakukan lebih banyak pekerjaan di latar belakang, bahkan jika itu dilakukan pada atau mendekati kecepatan yang sama seperti sebelumnya.

Akhirnya, kinerja disk adalah indikator besar dari keseluruhan kinerja PC saat ini ... indikator yang lebih besar daripada kecepatan CPU. Bahkan penurunan kecil dalam throughput disk akan sangat sering menyamakan dengan penurunan kinerja PC yang dirasakan secara keseluruhan. Ini terutama benar karena kinerja hard disk belum benar-benar mengimbangi peningkatan CPU dan memori; disk 7200 RPM telah menjadi standar desktop selama lebih dari satu dekade sekarang. Lebih dari sebelumnya, disk pemintalan tradisional adalah hambatan di komputer Anda.


1
Mencari peningkatan waktu bukanlah hasil dari ruang kosong yang rendah, ini adalah hasil dari organisasi data. Membebaskan ruang disk tidak akan mengurangi waktu pencarian jika data Anda sudah ada di seluruh drive. Demikian pula, kehabisan ruang disk tidak akan tiba-tiba meningkatkan waktu pencarian untuk data yang tidak terkait yang sudah diatur dengan baik. Lebih penting lagi, berhati-hatilah mengaitkan keduanya dengan "komputer lambat". Misalnya, Anda tidak akan menjelajah web lebih cepat hanya karena executable browser Anda tidak terfragmentasi dan berada di luar drive mekanis, dan MP3 Anda masih akan diputar dengan lancar walaupun dalam kondisi terburuk.
Jason C

2
@JasonC Masing-masing poin itu benar secara terpisah, tetapi diambil sebagai bagian dari keseluruhan sistem dapat menambah perlambatan nyata. Contohnya adalah klaim ini: " Freeing disk space won't decrease seek times if your data is already all over the drive." Saya tidak dapat membantahnya dengan sendirinya, tetapi saya dapat menunjukkan bahwa layanan defrag sekarang dapat memindahkan data ini ke bagian depan drive, dan sekarang hal-hal itu akan meningkatkan waktu pencarian. Poin-poin lain dalam komentar Anda memiliki penghitung yang serupa: kehabisan ruang disk tidak akan meningkatkan upaya mencari data yang terorganisir dengan baik, tetapi hal itu membuat kecil kemungkinan data tetap terorganisir.
Joel Coehoorn

1
@JasonC Namun, saya menambahkan beberapa baris pada jawaban saya berdasarkan komentar Anda, untuk lebih langsung menjawab pertanyaan judul.
Joel Coehoorn

Tentu saja; tetapi poin utama saya adalah 1) bahwa memperlambat adalah konsekuensi dari sesuatu yang lain , meskipun ruang bebas yang rendah mungkin menjadi salah satu dari banyak faktor, dan 2) Anda harus benar-benar berhati-hati dengan topik ini, itu adalah salah satu dari yang orang kaitkan ke sangat cepat. Jika pengguna biasa melihat bahwa komputer mereka lambat, pada kenyataannya itu sangat tidak biasa untuk, katakanlah, fragmentasi (misalnya) menjadi penyebab sebenarnya. Tapi kemudian mereka membaca banyak hal di internet, menginstal ccleaner, 50 defragmenter disk, membuat banyak tweak registry yang buruk, dll. Perlu memenuhi kebutuhan massa di sini; yang lebih bijak tidak membutuhkan jawaban kita.
Jason C

Jawaban ini mengisyaratkan short-stroking (membatasi ukuran HD secara artifisial untuk menjaga data di wilayah luar yang lebih cepat) dan beberapa masalah potensial dengannya. Saya juga suka karena tidak menyangkal bahwa dalam kebanyakan kasus, untuk sebagian besar pengguna drive menjadi lebih terfragmentasi karena semakin penuh. Meskipun perlu dicatat bahwa ruang bebas bukanlah masalah yang sebenarnya , namun sia-sia untuk mengabaikan pengalaman pengguna umum ketika berhadapan dengan pertanyaan pengalaman pengguna umum.
Smithers

6

Semua jawaban lain secara teknis benar - namun saya selalu menemukan bahwa contoh sederhana ini menjelaskan yang terbaik.

Menyortir barang sangat mudah jika Anda memiliki banyak ruang ... tetapi sulit jika Anda tidak memiliki ruang ... komputer juga membutuhkan ruang !

" Puzzle 15 " klasik ini rumit / menghabiskan waktu karena Anda hanya memiliki 1 kotak gratis untuk mengocok ubin agar bisa masuk dengan urutan 1-15 yang benar.

15 puzzle yang sulit

Namun jika ruangnya jauh lebih besar, Anda bisa menyelesaikan puzzle ini dalam waktu kurang dari 10 detik.

15 puzzle mudah

Bagi siapa pun yang pernah bermain dengan teka-teki ini ... memahami analogi tampaknya datang secara alami. ;-)


2
Ini tidak analog dengan perilaku sistem file apa pun. Ini agak menyerupai proses umum defragmentasi, saya kira, meskipun defrag, relatif terhadap analogi puzzle ini, memungkinkan Anda menghapus angka dari papan dan menempatkannya kembali di mana pun Anda inginkan saat Anda menyelesaikannya.
Jason C

2
Selain komentar Jason di atas, saya ingin menunjukkan yang sudah jelas: jawaban ini berkaitan dengan pengurutan (defragmenting), tetapi tidak menjelaskan mengapa mengakses ubin tertentu dan acak (katakanlah, ubin "3") akan lebih cepat di urutan kedua. kasus daripada dalam kasus pertama.
CVn

Karena Anda tidak mengakses hanya "3". Anda sedang mengakses "1-15". Meskipun saya akui itu tidak jelas dalam contoh, saya menganggapnya sebagai dimengerti. Mungkin layak secara khusus mencatat sesuatu seperti, "teka-teki ini analog dengan satu file terfragmentasi." Jawaban yang bagus, membuat semuanya dapat diakses secara mental!
Smithers

1
Untuk memperjelas: Masalah utama dengan analogi di sini adalah bahwa, dalam teka-teki yang sebenarnya, Anda hanya dapat memindahkan ubin ke ruang kosong yang berdekatan. Yaitu, dalam contoh kecil, hanya 6 atau 13 yang dapat dipindahkan ke ruang kosong. Itulah yang membuat teka-teki itu menantang; itu inti dari permainan ubin. Ketika mendefrag hard drive, Anda dapat memindahkan mis. 4 ke ruang kosong, 1 ke lokasi yang benar, dan seterusnya, cukup mudah dipecahkan, dalam banyak gerakan seperti halnya kasing dengan banyak ruang . Jadi analoginya benar-benar rusak, karena inti teka-teki tidak berlaku: Tidak ada sistem file yang bekerja dengan cara ini.
Jason C

'Karena kamu tidak mengakses hanya "3". Anda mengakses "1-15" '- ini tidak masuk akal. Jawabannya tidak menjelaskan mengapa mengakses ubin acak tertentu akan lebih cepat dalam kasus kedua daripada dalam kasus pertama karena jawabannya benar-benar salah. Bukan hanya defragging yang membatasi teka-teki, tetapi defragging "rumit / memakan waktu" tidak berpengaruh pada kinerja sistem.
Jim Balter

5

Komputer yang memiliki ruang disk sangat sedikit, pada hard drive mekanis yang berputar, untuk jangka waktu yang signifikan, umumnya akan menjadi lebih lambat ketika fragmentasi file tumbuh. Peningkatan fragmentasi berarti membaca lambat - sangat lambat dalam kasus ekstrim.

Setelah komputer dalam keadaan ini, membebaskan ruang disk tidak akan benar-benar memperbaiki masalah. Anda juga perlu mendefrag disk. Sebelum komputer dalam kondisi ini, membebaskan ruang tidak akan mempercepatnya; itu hanya akan mengurangi kemungkinan fragmentasi menjadi masalah.

Ini hanya berlaku untuk komputer dengan hard drive mekanis pemintalan, karena fragmentasi memiliki efek yang dapat diabaikan pada kecepatan baca SSD.


Jawaban yang bagus, bersih, sederhana yang juga membahas masalah inti utama.
Smithers

4

Flash disk pasti bisa menjadi lebih lambat ketika mereka penuh atau terfragmentasi, meskipun mekanisme untuk memperlambat tidak seperti yang akan terjadi dengan hard drive fisik. Chip memori flash tipikal akan dibagi menjadi beberapa blok hapus, yang masing-masing terdiri dari sejumlah besar (ratusan, jika bukan ribuan) halaman tulis, dan akan mendukung tiga operasi utama:

  1. Baca halaman flash.
  2. Menulis ke halaman flash yang sebelumnya kosong.
  3. Hapus semua halaman flash pada blok.

Meskipun secara teori dimungkinkan untuk meminta masing-masing menulis ke flash drive membaca semua halaman dari blok, mengubah satu di buffer, menghapus blok, dan kemudian menulis buffer kembali ke perangkat flash, pendekatan seperti itu akan sangat lambat; itu juga akan menyebabkan kehilangan data jika daya hilang antara saat erase dimulai dan penulisan kembali selesai. Selanjutnya, bagian-bagian disk yang sering ditulis akan cepat aus. Jika 128 sektor pertama FAT disimpan dalam satu blok flash, misalnya, drive akan mati setelah jumlah total penulisan ke semua sektor mencapai sekitar 100.000, yang tidak terlalu banyak, terutama mengingat bahwa 128 sektor akan menampung sekitar 16.384 entri FAT.

Karena pendekatan di atas akan bekerja dengan buruk, drive akan menyebabkannya mengidentifikasi beberapa halaman kosong, menulis data di sana, dan entah bagaimana mencatat fakta bahwa sektor logis yang dimaksud disimpan di lokasi itu. Selama cukup halaman kosong yang tersedia, operasi ini dapat dilanjutkan dengan cepat. Akan tetapi, jika halaman kosong kekurangan pasokan, drive mungkin perlu menemukan blok yang berisi relatif sedikit halaman "langsung", memindahkan halaman hidup mana saja di blok itu ke beberapa halaman kosong yang tersisa, dan menandai salinan lama sebagai " mati"; Setelah melakukan itu, drive kemudian akan dapat menghapus blok yang hanya berisi halaman "mati".

Jika drive hanya setengah penuh, maka pasti akan ada setidaknya satu blok yang paling banyak setengah penuh dari halaman langsung (dan kemungkinan akan ada beberapa blok yang mengandung sedikit atau tidak sama sekali). Jika setiap blok menampung 256 halaman dan blok paling tidak penuh menampung 64 halaman langsung (kasus sedang-buruk), maka untuk setiap 192 sektor yang diminta menulis drive harus melakukan 64 salinan sektor tambahan dan satu blok menghapus (sehingga biaya rata-rata masing-masing sektor menulis sekitar 1,34 halaman menulis dan 0,005 penghapusan blok). Bahkan dalam kasus terburuk, setiap 128 sektor menulis akan membutuhkan 128 salinan sektor tambahan dan penghapusan blok (biaya rata-rata per penulisan 2 halaman menulis dan 0,01 penghapusan blok)

Jika sebuah drive 99% penuh, dan blok paling tidak penuh memiliki 248/256 halaman langsung, maka setiap 8 sektor menulis akan membutuhkan 248 halaman tambahan menulis dan satu blok menghapus, sehingga menghasilkan biaya per penulisan dari 32 halaman menulis dan 0,125 blok menghapus - perlambatan yang sangat parah.

Bergantung pada berapa banyak "ekstra" penyimpanan drive, mungkin tidak memungkinkan hal menjadi sangat buruk. Meskipun demikian, bahkan pada titik di mana drive 75% penuh kinerja kasus terburuk mungkin lebih dari dua kali lebih buruk dari kinerja kasus terburuk ketika itu 50% penuh.


3

Anda cukup banyak berhasil. Anda dapat menganggap HDD SATA sebagai media komunikasi setengah dupleks (Yaitu, ia hanya dapat menerima atau mengirimkan data pada satu waktu. Tidak keduanya.) Sehingga ketika drive ditahan untuk waktu yang lama mencari lokasi bebas untuk menulis untuk, itu tidak dapat membaca data apa pun untuk Anda. Sebagai aturan praktis, Anda tidak boleh memuat drive Anda lebih dari 80% kapasitas karena alasan ini. Semakin penuh itu semakin tinggi semakin besar kemungkinan untuk memecah file yang menyebabkan drive untuk mengikat selama permintaan baca (sehingga memblokir permintaan menulis).

Ada beberapa hal yang dapat Anda lakukan untuk membantu masalah ini:

  • Kurangi jumlah data yang telah Anda simpan dan defragment drive Anda secara teratur.
  • Beralih ke penyimpanan berbasis flash.
  • Simpan data massal disimpan di drive terpisah dari OS Anda.
  • Begitu seterusnya dan seterusnya ...

1
Saat menggunakan flash, drive dapat membaca atau menulis (Sekali lagi, tidak keduanya) hampir secara instan (9ms adalah waktu mencari yang cukup standar pada HDD di mana SSD biasanya memiliki "waktu pencarian" di ranah pico dan nano detik) untuk setiap lokasi pada disk. en.wikipedia.org/wiki/…
Nathanial Meek

7
Melanjutkan poing 2: Ini adalah apa misalnya $Bitmapfile untuk di NTFS, atau pengalokasi bitmap di ext4. Yaitu jawaban ini menyebarkan beberapa informasi yang salah serius. 3. Ada banyak membaca dan menulis buffering dan caching terjadi yang membuat sebagian besar perdebatan ini. Jawaban ini agak menggambarkan efek fragmentasi, dan bahkan kemudian terbatas pada sistem file yang lebih lama, itu tentu saja tidak akurat ruang bebas wrt. Membebaskan ruang disk tidak mempercepat komputer.
Jason C

4
@JasonC, Anda harus mengubah komentar Anda menjadi jawaban.
Celos

6
Ini tidak terjadi : "jadi ketika drive ditahan untuk waktu yang lama mencari lokasi bebas untuk menulis, itu tidak dapat membaca data apa pun untuk Anda" - itu tidak. Itu bukan cara kerja filesystem. Harap edit jawaban Anda untuk berhenti menyebarkan informasi yang salah.
RomanSt

2
@NathanialMeek Kamu sedikit mencampur lapisan. :) Mode setengah dupleks SATA berarti hanya dapat mengirim data pada kabel dalam satu arah. Membaca dan menulis tingkat yang lebih tinggi dilakukan dalam blok kecil (disebut FIS), dalam antrian operasi yang ditentukan SATA. Mereka dapat asinkron, dan membaca dan menulis cepat dapat dilakukan ke dan dari cache on-board dan langsung ke memori sistem melalui DMA. Pengontrol SATA juga bebas untuk memesan ulang perintah untuk mengoptimalkan efisiensi. Poinnya adalah: Saluran tidak sibuk ketika operasi fisik selesai, dan mode setengah-dupleks SATA tidak memiliki efek yang Anda pikirkan.
Jason C

3

Mengikuti pendekatan singkat & manis jawaban saya yang terlalu disederhanakan (sangat terbatas pada kebingungan utama Anda) adalah:

Selama kamu

  1. OS memiliki cukup (untuk skenario terburuk) ruang untuk memenuhi tugasnya seperti paging / swapping / dll.
  2. Perangkat lunak lain juga memiliki ruang yang cukup untuk kebutuhan masing-masing.
  3. Hard disk didefragmentasi.

Maka Anda tidak dapat membedakan kinerja disk kosong 80% vs disk kosong 30%, dan tidak perlu khawatir tentang hal lain selain menyimpan lebih banyak data baru.

Hal lain yang membutuhkan lebih banyak penyimpanan akan menyebabkan kinerja yang buruk karena sekarang mungkin ada kekurangan ruang yang tersedia.

Tentu saja membersihkan disk melalui alat ini sama baiknya dengan:

  1. File sementara harus dibersihkan secara teratur untuk mendapatkan ruang disk yang berharga.
  2. File-file Log lama hanyalah buang-buang ruang.
  3. Sisa dari perangkat lunak yang Diinstal / Tidak Terinstal sangat jahat.
  4. Cookie harus dihapus jika Anda menghargai privasi online Anda.
  5. Pintasan tidak valid, dll.

Semua ini (dan banyak lagi) alasan menyebabkan kinerja yang lebih buruk karena semua ini terus membingungkan OS ketika menemukan set bit yang tepat untuk bekerja dengannya.


Ringkasan yang layak, tetapi tidak begitu yakin tentang bagian "TAPI". Secara khusus: 3) Secara umum tidak memiliki dampak kinerja yang nyata, meskipun ada ketakutan umum 4) Cookie pada dasarnya tidak bermasalah, dan terlepas dari pendapat, privasi tidak terkait dengan kinerja atau ruang hard drive, 5) Pintasan yang rusak jelek tapi umumnya tidak penting jika tidak. Semua ini tidak benar-benar "membingungkan" OS umum apa pun. Berhati-hatilah dengan "tips" dan "tweak" yang Anda ikuti. Berhati-hatilah terhadap alat pembersihan yang tidak perlu juga, khususnya pembersih registri sering berisiko membahayakan tanpa manfaat.
Jason C

2

Satu efek pada pemintalan drive yang belum saya lihat disebutkan: Kecepatan akses dan kecepatan transfer data berbeda pada bagian disk yang berbeda.

Disk berputar dengan kecepatan tetap. Trek di bagian luar disk lebih panjang dan karena itu dapat menampung lebih banyak data per trek daripada trek di bagian dalam. Jika drive Anda dapat membaca 100 MB / detik dari trek terluar, kecepatan pada trek paling dalam akan kurang dari 50 MB / detik.

Pada saat yang sama, ada lebih sedikit trek antara 1 GB data di trek luar disk daripada antara 1 GB data di trek paling dalam. Jadi, rata-rata, untuk data yang disimpan di luar, lebih sedikit pergerakan head dibutuhkan daripada data di track paling dalam.

OS akan mencoba menggunakan trek terluar, jika memungkinkan. Tentu saja itu tidak mungkin jika disk penuh. Menghapus data akan membuat ruang tersedia di mana kecepatan transfer lebih tinggi dan membuat segalanya berjalan lebih cepat. Untuk alasan yang sama, Anda harus membeli hard drive berputar yang lebih besar dari yang dibutuhkan jika Anda menginginkan kecepatan (asalkan terjangkau), karena Anda hanya akan menggunakan bagian tercepat dari drive.


Menambahkan: en.wikipedia.org/wiki/Zone_bit_recording , yang mengenainya dengan beberapa detail. Perlu dicatat: Data yang ada tidak akan dipindahkan. Ini dapat memengaruhi penyimpanan data baru (tergantung pada lokasi pada drive, tidak langsung pada ruang kosong), tetapi itu tidak akan "memperlambat" file yang ada yang dengan senang hati diakses sebelum menulis di bagian dalam. Meskipun drive 1TB 7200RPM 3.5 "termurah yang saya temukan di Amazon memiliki tingkat baca rata-rata yang ditentukan pengguna sebesar 144MB / s; bahkan terhitung perbedaan pada trek dalam dan luar, ini mungkin bukan hambatan selama penggunaan biasa.
Jason C

@JasonC I / O kinerja dalam hal sekuensial throughput hampir tidak pernah menjadi perhatian dalam praktik; bahkan drive 4900 rpm yang lambat akan cukup cepat untuk hampir semua pengguna individu. Kinerja I / O dalam hal operasi baca / tulis per detik akan menjadi apa yang membunuh kinerja di sebagian besar kasus; tanyakan sysadmin favorit lokal Anda tentang IOPS penyimpanan rotasi dalam sistem multiuser beberapa saat, jika Anda cenderung. Itulah alasan utama mengapa praktis tidak ada yang menggunakan penyimpanan rotasi untuk sistem multi-pengguna akhir-akhir ini; Anda bahkan tidak pernah dapat mendekati IOPS SSD.
CVn
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.