Attualmente sto riscontrando problemi con ddinvocato con un file sparse come input ( if) e un file come output ( of) con conv=sparse. ddsembra che stia utilizzando un solo core della CPU ( Intel(R) Core(TM) i7-3632QM CPU @ 2.20GHz4 core + 4 Intel Hyperthreads) (100% di 1 core), quindi mi chiedevo se fosse possibile parallelizzare dd. Sono Stato
- guardando dentro
info ddeman dde sembra che funzioni integrate nella versione di corutils 8.23 - controllo
sgp_dddalsg3-utilspacchetto (senza capire se soddisfa le mie esigenze), ma non sembra essere in grado di gestire file sparsi dcflddnon sembra avere capacità di parallelizzazione
per quanto ne so
- è preferibile una versione avanzata / fork con gestione interna delle parti del programma in più thread (evitare cambiamenti di contesto che uccidono le prestazioni di I / O)
parallelè preferibile una soluzione con GNU in esecuzione localmente- uno sniplet di codice personalizzato (possibilmente non testato)
Come evitare che la CPU sia il collo di bottiglia di un'operazione I / O intensiva? Vorrei eseguire il comando su Ubuntu 14.04 con Linux 3.13 e gestire immagini di dischi di file sparsi con esso su qualsiasi file system che supporti file di tipo sparse (almeno la soluzione non dovrebbe essere associata a un file system specifico).
Contesto: sto cercando di creare una copia di un file sparse di 11 TB (contenente circa 2 TB di dati) su un zfs (zfsonlinux 0.6.4 versione instabile, probabilmente buggy e causa del collo di bottiglia della CPU (eventualmente ricerca lenta del foro)). Ciò non dovrebbe cambiare nulla per la domanda su come parallelizzare dd (in modo molto generico).
ddimposta la CPU per impostazione predefinita a causa delle dimensioni ridotte. ingrandirlo, come bs=1M.