O problema provavelmente é causado pela limpeza do pagecache, em vez do preenchimento da fila de E / S.
Para verificar, tente descompactar um arquivo grande e, em outro terminal, faça um cat /proc/meminfo
. Você verá alguns valores grandes em Dirty
memory; quando essa memória "suja" é liberada, uma grande E / S acontece e seu aplicativo em tempo real sofre.
O comportamento pode ser configurado, no entanto, não é trivial, pois, por padrão, a pilha de E / S do Linux favorece a taxa de transferência em vez da latência. De qualquer forma, como um bom começo, tente usar o deadline
scheduler e certifique-se de que o NCQ esteja ativado em seus discos.