Saat ini saya mengalami masalah dengan dd
dipanggil dengan file jarang sebagai input ( if
) dan file sebagai output ( of
) dengan conv=sparse
. dd
tampaknya hanya menggunakan satu inti dari CPU ( Intel(R) Core(TM) i7-3632QM CPU @ 2.20GHz
4 core + 4 Intel Hyperthreads) (100% dari 1 core), jadi saya bertanya-tanya apakah mungkin untuk melakukan paralelisasi dd
. saya telah
- melihat ke dalam
info dd
danman dd
dan tampaknya ada fungsi built-in dalam versi corutils 8.23 - memeriksa
sgp_dd
darisg3-utils
paket (tanpa memahami apakah itu sesuai dengan kebutuhan saya), tetapi sepertinya tidak dapat menangani file yang jarang dcfldd
tampaknya tidak memiliki kemampuan paralelisasi
AFAIK
- versi / garpu yang ditingkatkan dengan penanganan internal bagian-bagian program dalam banyak utas (menghindari perubahan konteks yang mematikan kinerja I / O) lebih disukai daripada
- solusi dengan GNU
parallel
berjalan secara lokal lebih disukai daripada - sniplet kode khusus (mungkin belum teruji)
Bagaimana cara menghindari CPU yang menjadi penghambat operasi intensif I / O? Saya ingin menjalankan perintah pada Ubuntu 14.04 dengan Linux 3.13 dan menangani gambar disk file jarang dengan itu pada sistem file yang mendukung file jarang (setidaknya solusinya tidak boleh terikat pada satu sistem file tertentu).
Latar Belakang: Saya mencoba membuat salinan file jarang 11TB (berisi sekitar 2TB data) pada zfs (zfsonlinux 0.6.4 versi tidak stabil, mungkin buggy dan penyebab kemacetan CPU (akhirnya pencarian lubang lambat)). Itu seharusnya tidak mengubah apa pun untuk pertanyaan tentang bagaimana memparalelkan dd (dengan cara yang sangat umum).
dd
babi CPU secara default karena ukuran kecil. membuatnya lebih besar, seperti bs=1M
.