io trava enquanto um processo de construção é arquivado

1

Eu tenho uma máquina de compilação do Scientific Linux:

$ cat /etc/redhat-release
Scientific Linux release 6.5 (Carbon)

Como parte de nosso processo de criação, há uma etapa de arquivamento na qual muitos (centenas) arquivos de objeto são arquivados em um arquivo .a . Durante essa etapa de arquivamento, que leva cerca de um minuto, nenhum outro processo pode gravar no disco. Usuários, por exemplo, tentando escrever em suas sessões de vim durante essa etapa de arquivamento, aguardam até que o arquivamento seja feito.

Isso acontece apesar das pessoas construírem com ionização:

ionice -c2 -n7 nice -n19 make -j64 PRETTY=1 <target>

Isto parece ser uma questão io, uma vez que as sessões vim (e sessões tmux, e sessões de shell, etc.) funcionam bem até que um arquivo seja gravado.

Quais são os possíveis afunilamentos que podem causar isso?

    
por firebush 23.10.2017 / 19:04

1 resposta

0

Primeiro: ionice -c3 significa o agendamento inativo (é isso que você quer), -c2 é para o melhor esforço.

Segundo: você pode usar o controlador cgroups blkio para afinar o agendamento.

Terceiro: não use mais encadeamentos do que seus núcleos físicos. Portanto, se você não tiver 64 núcleos em seu computador, diminua-o. Por exemplo: -j4

    
por 23.10.2017 / 20:25