GNU/Linux >> Znalost Linux >  >> Linux

Detekce Process Eating CPU bez:Top, Htop, Ps?

Prošel jsem problémem, kdy jsem mohl jen hádat, jaký proces požíral procesor.

Moje využití procesoru bylo asi 80 % pro všechna jádra v psensor.

Zkoušel jsem htop , top a ps -A -o pcpu,pid,cmd --sort +pcpu (poslední jsem dokonce zkoušel se sudem bez úspěchu).
Všechny tyto ukázaly pid viníka (kterého jsem si byl vědom) s použitím pouze asi 7 %…

Když na tom pid SIGKILL, vše se vrátí do normálu.

Pro testování jsem udělal nekonečnou smyčku na terminálu while true;do echo -n;done ale to jsem jasně viděl na htop; takže můj odhad, co způsobilo potíže, nebylo podobné tomu…

Tak by mě zajímalo, jestli existují jiné způsoby, jak bych mohl najít viníka, aniž bych musel hádat?

Znovu přemýšlím a myslím, že bych rád věděl, jaké výpočty má psensor a „aplet indikátoru zatížení systému“ používá, který dokázal ukázat tuto hodnotu, ale ostatní to nedokázali?

PS.:odkaz na dobu čekání,
odkaz na průměrnou zátěž

Přijatá odpověď:

Nejsem dostatečně obeznámen s detaily, abych mohl poskytnout přesné rady, ale myslím, že existují dva zdroje rozdílů mezi skutečným zatížením a zobrazeným využitím CPU:

  1. Proces se může skládat z několika vláken a top nelze je shrnout. Počet vláken můžete vidět takto:

    ps -eo pid,nlwp,%cpu,user,args
    

    V top můžete přepnout zpracování vláken pomocí H . Využití CPU každého vlákna je obvykle poměrně nízké.

  2. Proces může způsobit velké množství I/O. Doba čekání na vstup/výstup je součástí celkového zatížení procesoru, ale nemusí být součástí hodnoty využití procesoru procesem. Zkontrolujte tedy wait hodnota v top . Neřekne vám, které procesy to způsobují, do jaké míry, ale pokud je hodnota nízká, nedokáže vysvětlit účinek.


Linux
  1. Jak omezit využití CPU procesu v Linuxu

  2. Nejlepší obsah Sysadmin únor 2021

  3. Odstraňte problémy s vysokým využitím procesoru na Windows Server

  1. Získat využití CPU v shell skriptu?

  2. Zjistit zablokování zásuvky bez odesílání nebo přijímání?

  3. Proces vmlinuz běží na 100% CPU

  1. Definování proměnné s exportem nebo bez exportu

  2. Detekce smrti rodičovského procesu

  3. Který proces požírá ptys na mém linuxovém serveru?