I / O traz uma máquina de joelhos [fechada]

1

Por que, em todo Linux que usei, quando um programa é realmente vinculado a E / S, isso atrasa a máquina? Aconteceu apenas quando eu (acidentalmente) tentei fazer com que gcc compile um arquivo (válido!) De 50Mb C. O GCC estava tão cheio de E / S que deixou a máquina de joelhos.

Outro momento é quando apt-get ou similar estão baixando pacotes, às vezes nem consigo acessar a internet enquanto isso, todos os pedidos são esgotados.

No Windows, as operações podem não ser tão rápidas, mas pelo menos os processos compartilham o tempo de E / S entre eles.

É por causa da decisão de design? Se sim, existe alguma maneira que eu possa mudar esse comportamento?

( por favor, não tome isso como uma crítica do Linux )

    
por Délisson Junio 15.11.2013 / 16:19

1 resposta

0

Desculpe, esta questão é muito ampla para ser abordada. Nós só podemos realmente lidar com questões específicas aqui. Existem várias razões pelas quais isso está acontecendo. Muitas vezes, o desempenho ruim é mal entendido pelo usuário.

  • O sistema está sem RAM?
  • tem HDD lento?
  • O sistema não está configurado de forma otimizada?

Eu não estou apenas soprando sua pergunta, mas eu fiz uma boa quantidade de benchmarking sobre a minha carreira e quando você rasga um problema de desempenho supostamente para baixo, há sempre uma razão e geralmente é óbvio quando você quebra o problema para baixo em suas partes discretas.

Para depurar este "problema", mais um terá que arregaçar as mangas e começar a cavar primeiro:

  • identificando o que o restante do sistema está fazendo durante esse evento.
  • Existe uma ampla RAM disponível?
  • A troca está sendo usada?
  • Existem outros processos competindo pelo conjunto finito de recursos no sistema?
  • Na verdade, calcule o tempo do processo de execução "lento" e compare as diferenças percebidas no tempo de execução
  • que recursos meu processo está tentando usar? HDD? RAM? Quanto?

Essa lista pode durar para sempre, mas esses são os tipos de coisas que você precisará diagnosticar antes que uma cura para o problema possa ser identificada.

    
por 15.11.2013 / 16:38