GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu zjistit, které procesy způsobují vysoké zatížení, pokud nevyužívají vysoké cpu?

Řešení 1:

iostat mohou takové statistiky vykazovat. Obvykle je součástí vaší distribuce v balíčku sysstat.

dstat by také mohl stát za pozornost, je to moderní náhrada.

Řešení 2:

Pokud máte v jádře IO účetnictví, můžete použít iotop podávat takové informace. Také monitorovací nástroje, jako je collectd, mohou zaznamenávat a hlásit data.

Řešení 3:

Chcete-li zjistit, co způsobuje vysoké zatížení, můžete zkontrolovat několik věcí.

  • vmstat -w vám ukáže ovierwiem (procesy, swap, paměť, cpu, io, systém)
  • pmstat -P ALL vám poskytne statistiky (s %iowait) na jádro procesoru
  • iostat -x hledejte vysoký %util nebo dlouhé čekání nebo velkou průměrnou velikost fronty
    • hlouběji pomocí iotop
  • ps -ax vyhledejte stav D, což je nepřerušitelný spánek (obvykle IO), spusťte jej ještě jednou a zkontrolujte, zda jsou stále ve stavu D
    • hlouběji se strace
    • zkontrolujte soubory a připojení těchto procesů pomocí lsof a netstat
  • sar/sysstat – pomocí tohoto nástroje můžete prozkoumat nejen statistiky „nyní“, ale také zkontrolovat, co se dělo včera o půlnoci
    • sar -b - celkové io činnosti
    • sar -d - aktivity jednotlivých blokových zařízení

Linux
  1. Co jsou zombie procesy a jak najít a zabít zombie procesy?

  2. Jak mohu zkontrolovat, zda soubor existuje, a provést příkaz, pokud ne?

  3. Jak poznám, že jsem na obrazovce?

  1. Jak zjistím, jakou verzi Linuxu používám?

  2. Jak mohu zkontrolovat, zda jsou cgroups dostupné na mém hostiteli Linuxu?

  3. VMware Linux Server – jak poznáte, zda jste virtuální počítač nebo skutečný hardware?

  1. Jak zjistit, kdo je přihlášen ve vašem systému a co dělá

  2. Jak zkontrolovat využití swapu jednotlivých procesů v Linuxu

  3. Jak zjistím, který proces způsobuje, že se kswapd používá?