Alta carga de CPU causada por discos lentos?

2

Estamos executando um aplicativo on-line em um servidor de três anos (quadcore Xeon, 4 GB de RAM, SAN-disks). O servidor hospeda, além do aplicativo da web, serviços SQL, FTP, SFTP, SMTP e POP.

Ao longo dos anos, o número de clientes aumentou significativamente e o servidor agora é empurrado para os limites, geralmente alcançando 100% de CPU em grandes intervalos de tempo.

Quando monitora o desempenho do servidor, notei que Gerenciador de tarefas geralmente reporta 100% da CPU (guia de desempenho) ou próximo a ele, mas processo ocioso do sistema (guia de processo) algo como 30%.

Pergunta :
A carga de trabalho total da CPU pode ser 100%, apesar do processo System Idle ter > 0% Minha observação está correta?

UPDATE :

A TomTom gentilmente respondeu ao meu qestion e forneceu as seguintes informações:

  • Uma tarefa aguardando E / S do disco será retirada da CPU até que ela seja respondida pelo agendador.
  • Sim, é possível ter uma carga de trabalho de 100% e gastar 30% disso no processo inativo. Porque isso não significa que esses 30% são desperdiçados.
  • O que é possível é que a CPU esteja 100% ocupada, mas no modo de economia de energia, por causa de todo o waiting .
  • Um exemplo para waiting poderia ser: Porque ele pode estar esperando pelo disco IO.

Pergunta reformulada : na imagem abaixo, mostra o uso da CPU = 100% Por que o uso total da CPU não é 100 - 58 = 42 ?

    
por David 09.01.2014 / 09:27

1 resposta

1

Vamos começar com o seu palpite - está errado. Uma tarefa esperando pelo disco io será retirada da CPU até que seja respondida pelo agendador.

Em segundo lugar, o "processo ocioso do sistema" não é "nada está lá para fazer". Uma olhada na wikipedia:

In Windows NT operating systems, the System Idle Process contains one or more kernel threads which run when no other runnable thread can be scheduled on a CPU. For example, there may be no runnable thread in the system, or all runnable threads are already running on a different CPU. In a multiprocessor system, there is one idle thread associated with each CPU.

Há mais informações lá. Geralmente disse - que não é "CPU não faz nada", mas "CPU está ocupado com as coisas no processo ocioso".

Então, sim, é possível ter uma carga de trabalho de 100% e gastar 30% disso no processo ocioso. Porque isso não significa que esses 30% são desperdiçados. Dito isso, observe as configurações de economia de energia.

O que é possível é que a CPU esteja 100% ocupada, mas em modo de economia de energia, devido a toda a espera. A alteração da economia de energia mostraria o tempo de CPU disponível. 3 anos atrás é jovem o suficiente para ter uma economia de energia decente.

E por favor, o que é "típico para esse tempo"? 8 núcleos e 64gb de memória com um subsistema SAS de 24 discos? Esse foi o servidor que eu estava comprando - ah - 4-5 anos atrás;)

    
por 09.01.2014 / 10:01