Estou procurando um comando semelhante ao ionice
and trickle
and pv -L
and tc
-, mas que coloque limites de E/S em arquivos.
ionice
olha para dispositivos de bloco na máquina local. Quero que isso funcione para E/S de arquivo em geral. Se não funcionar para encfs montados em NFS, é inútil para mim.
trickle
molda a E/S da rede - não a E/S do sistema de arquivos. Então, se meu programa acessa um arquivo no encfs, ele não terá nenhuma pista se ele está montado em cima do NFS ou de um diretório local.
tc
é semelhante a trickle
: Ele molda a E/S da rede - não a E/S do sistema de arquivos.
pv -L
só funciona em pipes. Preciso que funcione em todos os arquivos que o programa abre. Pense no Firefox: ele abre arquivos para leitura e escrita em vários threads.
Eu quero isso:
thecommand --read 5M --write 1M firefox
limitar firefox
a leitura de arquivos a 5 MB/s e a gravação a 1 MB/s.
firefox
é apenas um exemplo: quero que funcione para qualquer programa que abra arquivos diferentes para leitura e escrita.
Quero que a limitação funcione não importa se firefox
o acesso é a um arquivo local ou a um arquivo em NFS/tmpfs/encfs/SSHFS/RandomFS.
Não tem problema se ele só funcionar em programas vinculados dinamicamente (ou seja, não tem problema se ele fizer alguma mágica LD_PRELOAD).
Existe uma fera dessas?