Saat mempelajari lebih lanjut tentang komputer dan cara kerjanya, terkadang Anda akan menemukan sesuatu yang tampaknya tidak masuk akal. Dengan pemikiran tersebut, apakah mengosongkan ruang disk sebenarnya mempercepat komputer? Postingan SuperUser Q&A hari ini memiliki jawaban untuk pertanyaan pembaca yang bingung.
Sesi Tanya & Jawab hari ini hadir atas kebaikan SuperUser — subdivisi Stack Exchange, pengelompokan situs web Tanya Jawab berbasis komunitas.
Tangkapan layar milik pasir (Flickr) .
Pertanyaan
Pembaca SuperUser Remi.b ingin tahu mengapa mengosongkan ruang disk tampaknya mempercepat komputer:
Saya telah menonton banyak video dan sekarang memahami cara kerja komputer sedikit lebih baik. Saya mengerti apa itu RAM, tentang memori volatile dan non-volatile, dan proses swapping. Saya juga mengerti mengapa meningkatkan RAM mempercepat komputer.
Apa yang saya tidak mengerti adalah mengapa membersihkan ruang disk tampaknya mempercepat komputer. Apakah itu benar-benar mempercepat komputer? Jika ya, mengapa demikian?
Apakah itu ada hubungannya dengan mencari ruang memori untuk menyimpan sesuatu atau dengan memindahkan benda-benda untuk membuat ruang terus menerus yang cukup lama untuk menyimpan sesuatu? Berapa banyak ruang kosong yang harus saya sisakan di hard disk?
Mengapa mengosongkan ruang disk tampaknya mempercepat komputer?
Jawabannya
Kontributor SuperUser, Jason C, memiliki jawabannya untuk kami:
“Mengapa mengosongkan ruang disk mempercepat komputer?”
Tidak, setidaknya tidak dengan sendirinya. Ini adalah mitos yang sangat umum. Alasan ini menjadi mitos umum adalah karena mengisi hard drive Anda sering terjadi bersamaan dengan hal-hal lain yang secara tradisional dapat memperlambat komputer Anda. (SEBUAH) . Kinerja SSD cenderung menurun saat diisi, tetapi ini adalah masalah yang relatif baru, unik untuk SSD, dan tidak terlalu terlihat untuk pengguna biasa. Umumnya, ruang disk kosong yang rendah hanyalah masalah.
Misalnya, hal-hal seperti:
1. Fragmentasi file. Fragmentasi file adalah masalah (B) , tetapi kurangnya ruang kosong, meskipun jelas merupakan salah satu dari banyak faktor yang berkontribusi, bukan satu-satunya penyebabnya. Beberapa poin penting di sini:
- Kemungkinan file terfragmentasi adalah tidak terkait dengan jumlah ruang kosong yang tersisa di drive. Mereka terkait dengan ukuran blok ruang kosong bersebelahan terbesar pada drive (yaitu "lubang" ruang kosong), yang merupakan jumlah ruang kosong kebetulan menempatkan batas atas . Mereka juga terkait dengan bagaimana sistem file menangani alokasi file ( lebih lanjut di bawah ). Mempertimbangkan: Drive yang 95 persen penuh dengan semua ruang kosong dalam satu blok yang berdekatan memiliki peluang nol persen untuk memecah file baru (C) (dan kemungkinan memecah file yang ditambahkan tidak tergantung pada ruang kosongnya). Drive yang lima persen penuh tetapi dengan data yang tersebar secara merata di drive memiliki kemungkinan fragmentasi yang sangat tinggi.
- Ingatlah bahwa fragmentasi file hanya mempengaruhi kinerja ketika file yang terfragmentasi sedang diakses . Mempertimbangkan: Anda memiliki drive yang bagus dan telah didefragmentasi yang masih memiliki banyak “lubang” bebas di dalamnya. Skenario umum. Semuanya berjalan lancar. Namun, pada akhirnya, Anda mencapai titik di mana tidak ada lagi blok besar ruang kosong yang tersisa. Anda mengunduh film besar, file tersebut 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. Hal ini dapat membuat film membutuhkan waktu lebih lama untuk dimuat (meskipun kecepatan bit film umumnya sangat rendah dibandingkan dengan kecepatan membaca hard drive sehingga kemungkinan besar tidak akan terlihat), dan ini dapat memengaruhi kinerja terikat I / O saat film sedang dimuat, tetapi selain itu, tidak ada yang berubah.
- Meskipun fragmentasi file merupakan masalah, sering kali efeknya dikurangi oleh buffering dan caching tingkat perangkat keras dan OS. Menulis tertunda, membaca, strategi seperti prefetcher di Windows, dll., semuanya membantu mengurangi efek fragmentasi. Biasanya tidak sebenarnya mengalami dampak yang signifikan hingga fragmentasi menjadi parah (saya bahkan berani mengatakan bahwa selama file swap Anda tidak terfragmentasi, Anda mungkin tidak akan pernah menyadarinya).
2. Pengindeksan pencarian adalah contoh lain. Katakanlah Anda telah mengaktifkan pengindeksan otomatis dan OS yang tidak menangani ini dengan baik. 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 berpengaruh 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 sejalan dengan penyimpanan lebih banyak konten, oleh karena itu koneksi palsu dibuat.
3. Perangkat lunak anti-virus (mirip dengan contoh pengindeksan pencarian). Katakanlah Anda memiliki perangkat lunak anti-virus yang disiapkan untuk melakukan pemindaian latar belakang drive Anda. Karena Anda memiliki lebih banyak konten yang dapat dipindai, pencarian membutuhkan lebih banyak I / O dan sumber daya CPU, mungkin mengganggu pekerjaan Anda. Sekali lagi, ini terkait dengan jumlah konten yang dapat dipindai yang Anda miliki. Lebih banyak konten sering kali berarti lebih sedikit ruang kosong, tetapi kurangnya ruang kosong bukanlah penyebabnya.
4. Perangkat lunak yang diinstal. Katakanlah Anda memiliki banyak perangkat lunak terinstal yang memuat 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 terjadi, dan sekali lagi koneksi yang salah dapat dengan mudah dibuat.
5. Banyak contoh lain di sepanjang garis ini yang, jika diambil bersama, muncul untuk mengaitkan kurangnya ruang kosong dengan kinerja yang lebih rendah.
Hal di atas mengilustrasikan alasan lain bahwa ini adalah mitos yang umum: Meskipun kurangnya ruang kosong bukan penyebab langsung dari perlambatan, mencopot berbagai aplikasi, menghapus konten yang diindeks atau dipindai, dll. Terkadang (tetapi tidak selalu; di luar cakupan jawaban ini) 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 yang jelas (tapi salah) antara "lebih banyak ruang kosong" dan "komputer yang lebih cepat" dapat dibuat.
Mempertimbangkan: Jika Anda memiliki mesin yang berjalan lambat karena banyak perangkat lunak yang terinstal, dll., Mengkloning hard drive Anda (persis) ke hard drive yang lebih besar, kemudian memperluas partisi Anda untuk mendapatkan lebih banyak ruang kosong, mesin tidak akan mempercepat secara ajaib. Perangkat lunak yang sama dimuat, file yang sama masih terfragmentasi dengan cara yang sama, pengindeks pencarian yang sama masih berjalan, tidak ada yang berubah meskipun memiliki lebih banyak ruang kosong.
“Apakah ini ada hubungannya dengan mencari ruang memori untuk menyelamatkan sesuatu?”
Tidak. Ada dua hal yang sangat penting yang perlu diperhatikan di sini:
1. Hard drive Anda tidak mencari-cari tempat untuk meletakkan sesuatu. Hard drive Anda bodoh. Ini bukan apa-apa. Ini adalah blok besar penyimpanan yang dialamatkan yang secara membabi buta menempatkan hal-hal di mana OS Anda memberi tahu dan membaca apa pun yang diminta. Drive modern memiliki mekanisme caching dan buffering canggih yang dirancang untuk memprediksi apa yang akan diminta OS berdasarkan pengalaman yang kami peroleh dari waktu ke waktu (beberapa drive bahkan mengetahui sistem file yang ada di dalamnya), tetapi pada dasarnya, pikirkan berkendara sebagai tempat penyimpanan yang sangat bodoh dengan fitur kinerja bonus sesekali.
2. Sistem operasi Anda juga tidak mencari tempat untuk meletakkan barang. Tidak ada pencarian. Banyak upaya telah dilakukan untuk memecahkan masalah ini karena ini penting untuk kinerja sistem file. Cara sebenarnya mengatur data di drive Anda ditentukan oleh Anda berkas sistem . Misalnya, FAT32 (DOS lama dan PC Windows), NTFS (edisi Windows yang lebih baru), HFS + (Mac), ext4 (beberapa sistem Linux), dan banyak lainnya. Bahkan konsep "file" dan "direktori" hanyalah produk dari sistem file biasa - hard-drive tidak tahu apa-apa tentang binatang misterius yang disebut file . Detail berada di luar cakupan jawaban ini. Tetapi pada dasarnya, semua sistem file yang umum memiliki cara untuk melacak di mana ruang yang tersedia ada di drive sehingga pencarian ruang kosong, dalam keadaan normal (yaitu sistem file dalam keadaan sehat), tidak diperlukan. Contoh:
- NTFS mempunyai sebuah master file table , yang menyertakan file khusus $ Bitmap , dll., dan banyak data meta yang menjelaskan drive. Pada dasarnya ia melacak di mana blok gratis berikutnya berada sehingga file baru dapat ditulis langsung ke blok gratis tanpa harus memindai drive setiap saat.
- Contoh lain: Ext4 memiliki apa yang disebut pengalokasi bitmap , peningkatan dari ext2 dan ext3 yang pada dasarnya membantunya secara langsung menentukan di mana blok gratis berada alih-alih memindai daftar blok gratis. Ext4 juga mendukung alokasi tertunda , yaitu, buffering data dalam RAM oleh OS sebelum menulisnya ke drive untuk membuat keputusan yang lebih baik tentang di mana harus meletakkannya untuk mengurangi fragmentasi.
- Banyak contoh lainnya.
“Atau dengan memindahkan barang-barang untuk membuat ruang terus menerus yang cukup lama untuk menyimpan sesuatu?”
Tidak. Ini tidak terjadi, setidaknya tidak dengan sistem file yang saya ketahui. File akhirnya terfragmentasi.
Proses "memindahkan barang-barang untuk membuat ruang yang cukup lama bersebelahan untuk menyimpan sesuatu" disebut defragmentasi . Ini tidak terjadi saat file ditulis. Ini terjadi ketika Anda menjalankan defragmenter disk Anda. Pada edisi Windows yang lebih baru, setidaknya, ini terjadi secara otomatis sesuai jadwal, tetapi tidak pernah dipicu oleh penulisan file.
Dapat menghindari memindahkan hal-hal seperti ini adalah kunci kinerja sistem file, dan itulah sebabnya fragmentasi terjadi dan mengapa defragmentasi ada sebagai langkah terpisah.
“Berapa banyak ruang kosong yang harus saya sisakan di hard disk?”
Ini adalah pertanyaan yang lebih sulit untuk dijawab (dan jawaban ini telah berubah menjadi sebuah buku kecil).
Aturan praktis:
1. Untuk semua jenis drive:
- Yang terpenting, sisakan cukup ruang kosong untuk Anda untuk menggunakan komputer Anda secara efektif . Jika Anda kehabisan ruang untuk bekerja, Anda akan menginginkan drive yang lebih besar.
- Banyak alat defragmentasi disk memerlukan jumlah ruang kosong minimum (menurut saya alat dengan Windows memerlukan 15 persen, kasus terburuk) untuk bekerja. Mereka menggunakan ruang kosong ini untuk sementara menyimpan file yang terfragmentasi karena hal-hal lain diatur ulang.
- Sisakan ruang untuk fungsi OS lainnya. Misalnya, jika komputer Anda tidak memiliki banyak RAM fisik, dan Anda mengaktifkan memori virtual dengan file halaman berukuran dinamis, Anda perlu menyisakan ruang yang cukup untuk ukuran maksimum file halaman. Atau jika Anda memiliki laptop yang Anda alihkan ke mode hibernasi, Anda memerlukan cukup ruang kosong untuk file status hibernasi. Hal-hal seperti itu.
2. Khusus SSD:
- Untuk keandalan optimal (dan pada tingkat yang lebih rendah, kinerja), SSD memerlukan beberapa ruang kosong, yang, tanpa terlalu banyak detail, mereka gunakan untuk menyebarkan data di sekitar drive untuk menghindari terus-menerus menulis ke tempat yang sama (yang membuatnya lelah) . Konsep meninggalkan ruang kosong ini disebut penyediaan berlebih . Itu penting, namun di banyak SSD, ruang wajib yang disediakan secara berlebihan sudah ada . Artinya, drive sering kali memiliki beberapa lusin lebih banyak GB daripada yang dilaporkan ke OS. Drive kelas bawah sering kali mengharuskan Anda keluar secara manual tidak dipartisi ruang, tetapi untuk drive dengan OP wajib, Anda tidak perlu meninggalkan ruang kosong apa pun . Hal penting yang perlu diperhatikan di sini adalah itu ruang yang terlalu banyak seringkali 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 menghitung. Seringkali, penyediaan berlebih secara manual mengharuskan Anda untuk mengecilkan partisi Anda menjadi lebih kecil dari ukuran drive. Periksa manual pengguna SSD Anda untuk detailnya. TRIM, pengumpulan sampah, dan semacamnya juga memiliki efek, tetapi itu berada di luar cakupan jawaban ini.
Secara pribadi, saya biasanya mengambil drive yang lebih besar ketika saya memiliki sekitar 20-25 persen ruang kosong yang tersisa. Ini tidak terkait dengan kinerja, hanya saja ketika saya mencapai titik itu, saya berharap saya mungkin akan segera kehabisan ruang untuk data dan inilah saatnya untuk mendapatkan drive yang lebih besar.
Yang 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 hal itu menjadi cukup mengerikan untuk memengaruhi Anda.
Ada satu hal terakhir yang perlu disebutkan. Salah satu jawaban lain di sini menyebutkan bahwa mode half-duplex 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, sederhananya, data tidak dapat ditransfer ke dua arah di kawat pada waktu bersamaan. Namun, SATA memiliki file spesifikasi yang cukup kompleks melibatkan ukuran blok maksimum kecil (sekitar 8kB per blok pada kabel, menurut saya), membaca dan menulis antrian operasi, dll., dan tidak menghalangi penulisan ke buffer yang terjadi saat pembacaan sedang berlangsung, operasi interleave, dll.
Setiap pemblokiran yang terjadi disebabkan oleh persaingan untuk mendapatkan sumber daya fisik, biasanya diatasi oleh banyak cache. Mode duplex SATA hampir seluruhnya tidak relevan di sini.
(SEBUAH) "Slow down" adalah istilah yang luas. Di sini saya menggunakannya untuk merujuk pada hal-hal yang terikat I / O (yaitu jika komputer Anda duduk di sana dengan angka-angka, isi hard drive tidak berdampak) atau terikat CPU dan bersaing dengan hal-hal yang berhubungan secara tangensial yang tinggi Penggunaan CPU (yaitu perangkat lunak anti-virus yang memindai banyak sekali file).
(B) SSD dipengaruhi oleh fragmentasi karena kecepatan akses berurutan umumnya lebih cepat daripada akses acak, meskipun SSD tidak menghadapi batasan yang sama seperti perangkat mekanis (meskipun demikian, kurangnya fragmentasi tidak menjamin akses berurutan karena perataan keausan, dll.). Namun, di 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.
(C) Dengan asumsi sistem file waras yang tidak memecah file dengan sengaja.
Pastikan untuk membaca sisa diskusi hidup di SuperUser melalui tautan di bawah ini!
Punya sesuatu untuk ditambahkan ke penjelasannya? Suarakan di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi? Lihat utas diskusi lengkap di sini .