Sobrecarga de uso de imagens montadas em loop no Linux

3

Existe sobrecarga de CPU / RAM associada ao uso de imagens montadas em loop versus o uso de uma partição física no Linux?

    
por hayavuk 23.04.2016 / 22:59

1 resposta

7

Sim, a menos que você tenha um kernel muito recente, há uma sobrecarga significativa ao usar dispositivos de loop no linux: os dados acessados pelo dispositivo de loop precisam passar por duas camadas do sistema de arquivos, cada um fazendo seu próprio armazenamento em cache. muita memória (a infame questão do "cache duplo")

Além do uso casual, alternativas melhores seriam usar uma partição dedicada ou um chroot para que os dados possam ser acessados diretamente.

Ou use o kernel mais recente, o problema foi corrigido no linux 4.4 e mais recente :

Faster and leaner loop device with Direct I/O and Asynchronous I/O support

This release introduces support of Direct I/O and asynchronous I/O for the loop block device. There are several advantages to use direct I/O and AIO on read/write loop's backing file: double cache is avoided due to Direct I/O which reduces memory usage a lot; unlike user space direct I/O there isn't cost of pinning pages; avoids context switches in some cases because concurrent submissions can be avoided. See commits for benchmarks.

    
por 24.04.2016 / 13:49