pengembangan-web-mp.com

swap partisi vs file untuk kinerja?

Apa yang lebih baik untuk kinerja? Partisi yang lebih dekat ke bagian dalam disk akan memiliki waktu akses yang lebih lambat, dan kita harus menunggu drive untuk beralih antara OS dan menukar partisi.

Di sisi lain, partisi swap mem-bypass semua filesystem yang memungkinkan menulis ke disk secara langsung, yang bisa lebih cepat daripada file.

Apa trade off kinerja?

Berapa banyak swapfile ukuran tetap yang membuat perbedaan?

Apakah ini kasus yang akan lebih lama untuk berubah ke partisi swap, tetapi kinerjanya akan lebih baik saat berada di partisi swap bahwa jika itu adalah file swap?

67
Bill Gray
  1. Pada hard disk, throughput dan pencarian seringkali lebih cepat menuju awal disk, karena data tersebut disimpan lebih dekat ke area luar disk, yang memiliki lebih banyak sektor per silinder. Dengan demikian, membuat swap di awal disk dapat meningkatkan kinerja.

  2. Untuk kernel Linux 2.6, tidak ada perbedaan kinerja antara partisi swap dan tidak terfragmentasi tukar file Ketika partisi swap/file diaktifkan oleh swapon, kernel 2.6 menemukan disk mana yang menyimpan swapfile , sehingga ketika tiba saatnya untuk bertukar, ia tidak harus berurusan dengan sistem file sama sekali.

Jadi, jika swapfile tidak terfragmentasi, itu persis seolah-olah ada partisi swap di lokasi yang sama. Atau dengan kata lain, Anda akan mendapatkan kinerja yang identik jika Anda menggunakan partisi swap mentah, atau memformatnya dengan sistem file dan kemudian membuat swapfile yang mengisi semua ruang, karena bagaimanapun cara pada disk itu ada wilayah yang berdekatan digunakan untuk bertukar, yang digunakan kernel secara langsung.

Jadi jika seseorang membuat swapfile ketika filesystem baru (sehingga memastikan itu tidak terfragmentasi dan di awal volume), kinerja harus identik dengan memiliki partisi swap sebelum volume. Lebih lanjut, jika seseorang membuat swapfile mengatakan di tengah volume, dengan file di kedua sisi, seseorang mungkin mendapatkan kinerja yang lebih baik, karena ada sedikit yang ingin bertukar.

Di Linux, jika swapfile dibuat tidak terfragmentasi, dan tidak pernah diperluas, itu tidak dapat terfragmentasi, setidaknya dengan sistem file normal seperti ext3/4. Itu akan selalu menggunakan blok disk yang sama, yang berdekatan.

Saya menyimpulkan bahwa tentang satu-satunya manfaat dari partisi swap khusus adalah dijamin tanpa fragmentasi ketika Anda perlu memperluasnya; jika swap Anda tidak akan diperluas, file yang dibuat pada sistem file baru tidak memerlukan partisi tambahan.

33
Shay

Sebenarnya itu tidak membuat banyak perbedaan selama Anda tidak menggunakan file jarang .

Membuat file "normal" dengan dd akan mengalokasikan file (jika memungkinkan) dalam sekali jalan, sementara membuat file jarang akan memberi tahu Anda bahwa Anda memiliki file 10GB yang tergeletak tetapi tidak benar-benar menggunakan semua ruang. Saya tidak begitu yakin apakah mkswap tidak akan mengalokasikan ruang, tetapi biasanya file swap akan tumbuh dalam waktu dan dengan demikian tidak akan mengalokasikan sektor yang berkelanjutan (seperti di bagian disk) melainkan mengalokasikan blok sesuai kebutuhan yang mengarah ke fragmentasi seiring waktu (tentu saja tergantung pada penggunaan disk Anda)

Secara internal kernel Linux akan mengakses blok-blok yang mendasari file swap kurang lebih secara langsung - Saya tidak dapat menemukan tautan sekarang apa yang terjadi di bawah tenda, Anda harus mempercayai saya tentang hal ini kecuali seseorang akan menemukan sesuatu yang lebih resmi. Yang bisa saya pikirkan saat ini adalah:

ini semua hanya berlaku untuk kernel Linux baris 2.6.

Jika Anda ingin kinerja optimal (dan apa itu, sungguh? ... swapping lambat, titik. Naikkan RAM sehingga Anda tidak menukar untuk kinerja terbaik ), Anda ingin menggunakan partisi.

25
serverhorror

Ini adalah pertanyaan yang menarik dan telah banyak membaca tentang hal yang sama. Umumnya partisi swap lebih baik daripada file karena sistem file yang mendasarinya. Tetapi jika Anda selalu perlu meningkatkan ukuran swap Anda maka file adalah pilihan yang lebih baik. Sampai kernel 2.4 dianggap bahwa partisi swap lebih cepat daripada file, tetapi sekarang dengan perbaikan kernel 2.6, kinerjanya hampir sama.

Sesuatu yang saya temukan di internet juga.

http://www.go2linux.org/swap-file-vs-swap-partition

dan

http://www.sunmanagers.org/pipermail/summaries/2005-November/006913.html

3
Viky

Saya pikir pada tahap kita sekarang, kecuali jika Anda menjalankan laptop dengan konfigurasi yang menulis data ke swap ketika ditangguhkan/tidur, swap harus benar-benar dianggap "pilihan terakhir". Taruhan terbaik Anda adalah memasukkan cukup RAM dalam sebuah kotak sehingga tidak pernah halaman ke disk.

Yang sedang berkata, partisi mungkin adalah cara yang lebih baik, kinerja bijaksana, meskipun file lebih fleksibel. Pastikan saja bahwa itu pada spindel 7200+ RPM.

2
Matt Simmons

Pemikiran di pekerjaan kami adalah bahwa karena file Swap dapat menjadi terfragmentasi, dan fragmentasi memperlambat akses swap, partisi adalah pendekatan yang lebih baik. Tentu saja, mendefinisikan swapfile berukuran statis melakukan banyak hal yang sama tetapi ini tampaknya lebih rapi secara subyektif.

Apakah pendekatan ini satu-satunya cara yang benar? Mungkin tidak, karena praktik ini didirikan hampir 10 tahun yang lalu. Satu-satunya perubahan besar dalam teknologi drive pada tahun-tahun berikutnya adalah kompleksitas pengontrol RAID yang kami gunakan (kami belum cukup kaya untuk SSD). Peningkatan ukuran drive berarti bahwa partisi swap yang kita buat lebih dekat ke awal drive daripada kembali ketika 18GB drive standar pengiriman, sehingga kecepatan swap bahkan lebih cepat daripada di masa lalu.

Tentu saja, pada sistem Windows berbasis ESX kami, posisi file swap sepenuhnya, sepenuhnya dapat diperdebatkan. Ada begitu banyak lapisan virtualisasi antara file swap dan piringan disk fisik yang tidak penting. Tetapi kami menyimpannya di partisi yang terpisah karena itu hanya standar.

2
sysadmin1138

Menggunakan file swap mungkin menggunakan sedikit memori ekstra untuk terjemahan file-ke-memori. Kita berbicara tentang memori kurang dari 1MB per swap 1GB. Cache sistem file TIDAK cache data yang ditukar, hanya data organisasi, yang seharusnya sebagian besar persyaratan memori tambahan.

Selain itu saya ragu Anda akan kehilangan kinerja yang wajar kecuali mungkin sekali dalam 1000 kali pencarian kepala tambahan.

Fakta lucu, menggunakan zswap bersama dengan file swap yang berkembang secara dinamis menghasilkan kecepatan yang mengesankan pada operasi swap dengan biaya yang sangat sedikit saat tidak digunakan.

0
Crass Spektakel