Come posso sapere quali processi stanno causando carichi elevati se non sono ad alto utilizzo di CPU?


12

A volte i miei server mostreranno una media del carico elevato nel programma "top" (ad es. Il carico è ~ 10 su una macchina a 4 core), ma l'utilizzo effettivo della CPU non è particolarmente elevato.

Presumo che il problema sia che ci sono molti lavori ad alta intensità di I / O in esecuzione. Esiste un modo semplice per identificare questi lavori che stanno causando il carico, se i loro valori "% CPU" in alto non sono così alti?


Potresti incollare l'area di riepilogo che vedi quando esegui il topcomando?
mfriedman,

Risposte:


7

iostatpuò segnalare statistiche del genere. Di solito incluso nella tua distribuzione nel pacchetto sysstat.

Dstat potrebbe anche valere la pena dare un'occhiata, è un rimpiazzo moderno.


+1 perché iostatsarebbe stata la mia risposta.
Ernie

4

Se hai un IO-Accounting nel tuo kernel, allora puoi usare iotopper fornire informazioni del genere. Inoltre, strumenti di monitoraggio come collectd possono registrare e riferire sui dati.


4

Per scoprire cosa sta causando un carico elevato puoi controllare alcune cose.

  • vmstat -w ti mostrerà ovierwiem (processi, swap, mem, cpu, io, system)
  • pmstat -P ALL ti fornirà statistiche (con% iowait) per core cpu
  • iostat -x cerca un% di utilizzo elevato o atteso a lungo o una dimensione media della coda grande
    • scavare più a fondo con iotop
  • ps -ax cerca lo stato D che è ininterrotto sleep (di solito IO), eseguilo ancora una volta controlla se sono ancora nello stato D
    • scavare più a fondo con lo strace
    • controlla i file e le connessioni di quei processi con lsof e netstat
  • sar / sysstat - con questo strumento puoi esplorare non solo le statistiche "adesso", ma anche controllare cosa stava succedendo ieri a mezzanotte
    • sar -b - attività io generali
    • sar -d - attività individuale del dispositivo a blocchi
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.