O mais provável é que o Strace não o ajude neste caso, pois ele não fornece informações de tempo significativas ao longo do tempo. Você pode obter resumos usando o comando
strace -t make all
A saída mostra quanto tempo foi usado para E / S (chamadas de leitura e gravação), mas é difícil fazer a diferença entre o uso normal e as esperas excessivas.
Se você puder, a maneira mais fácil de verificar se o NFS é o gargalo é compilar o tempo no NFS e, em seguida, no disco local, que deve ser mais rápido. Se isso não for possível, um ponteiro útil e trivial é o tempo de espera, mostrado, por exemplo, em topo . De homem topo :
wa -- iowait
Amount of time the CPU has been waiting for I/O to complete.
Por exemplo
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 10.7%id, 80.0%wa, 0.0%hi, 0.0%si, 10.0%st
Mostra que o processador está usando principalmente o tempo para a conclusão da E / S. Neste caso, o culpado é outra máquina virtual que usa muito o disco, mas o caso é quase o mesmo com a espera pelo NFS.
Isto requer monitorar a saída top durante o processo de compilação (pelo menos algumas vezes), por exemplo, sar ( página man) coleta estatísticas do sistema automaticamente.
Espero que isso ajude.