Tenho dois laptops Linux idênticos (Core™ i7-4810MQ com 32 GB de RAM), ambos executando o Ubuntu 16.04. A execução aparentemente de qualquer comando na máquina 2 leva cerca de 4 a 12 vezes mais tempo do que na máquina 1, dependendo da atividade. Isso foi percebido no final da semana passada durante a execução de algumas gradle
compilações simples e não mudou desde então.
Para medir, executei uma compilação C++ em cada sistema. Escolhi este porque criei o programa C++ há alguns meses e o construí em ambos os sistemas. Eles não foram medidos, mas demoraram aproximadamente a mesma quantidade de tempo naquela época. Executando o seguinte em cada sistema hoje:
make clean && time make -j8
O sistema 1 finaliza com o seguinte relatório:
real 0m54.627s
user 5m54.188s
sys 0m23.008s
O sistema 2 leva muito mais tempo:
real 11m1.053s
user 65m59.512s
sys 4m10.404s
Pesquisas no Stack Exchange e no Google levam a vários tópicos sobre o diagnóstico do problema, mas todos parecem presumir que há um processo que está deixando a máquina lenta. top
, iostat
e gnome-system-monitor
etc relatam uso de recursos idêntico em ambas as máquinas - nenhum deles está ocupado fazendo nada difícil e há muita CPU, memória, largura de banda e io disponíveis.
Quais são as primeiras coisas a verificar quando um sistema Linux está claramente com baixo desempenho, mas não é uma limitação de capacidade de hardware?
Responder1
Não aceitarei esta resposta, mas aqui está a lição que aprendi: se as ferramentas de análise não ajudarem, pense no que mudou recentemente no sistema. A única alteração que fizemos no Sistema 2 que também não foi feita no Sistema 1 na semana passada foi iniciar o daemon Gradle no Sistema 2. Essa devia ser a causa do problema, e assim foi.