it-swarm-eu.dev

Jak zjistit, které procesy zabírají veškerou paměť?

Hledám něco jako top je využití CPU. Existuje argument příkazového řádku pro vrchol, který to dělá? V současné době je moje paměť tak plná, že ani „mužský top“ selže s nedostatkem paměti :)

87
ripper234

Zevnitř top můžete vyzkoušet následující:

  • Lis SHIFT+f
  • Stiskněte písmeno odpovídající% MEM
  • Lis ENTER

Můžete také zkusit:

$ ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -5

Tím získáte 5 nejlepších procesů podle využití paměti.

107
Steven D

Pokud ji máte nainstalovanou, líbí se mi htop jakmile ji spustíte, můžete stisknout f6down arrow (do MEM%), enter seřadit podle paměti.

11
xenoterracide

Jakmile se spustí top, stiskněte F přepnete na obrazovku třídicího pole. Vyberte jedno z uvedených polí stisknutím klávesy uvedené vlevo; pravděpodobně chcete N pro MEM%

7
Michael Mrozek

V systému Solaris potřebujete příkaz:

prstat -a -s size

Zobrazí se seznam všech procesů v pořadí podle sestupné velikosti obrazu procesu. Všimněte si, že posledně uvedený je založen na paměti přidělené procesu OS, nikoli na využití jeho rezidentní fyzické paměti.

Pro Solaris jsou pravděpodobně k dispozici verze „top“, ale ty nejsou součástí standardní instalace.

6
Joel Hoff

Jedna pěkná alternativa k top je htop. Zkontrolujte, že je mnohem uživatelsky přívětivější než běžný top.

5
Klark

Toho lze dosáhnout několika způsoby, Můj oblíbený je:

PS cesta:

  1. [[email protected] ~]$ ps -eo pid,cmd,%cpu,%mem --sort=-%mem

    Kde,

    • -e: pro výběr celého procesu
    • -o: použít pro výstupní formát
    • pid, cmd, %cpu, %mem: Výstupní formát v přesném pořadí. Zde lze použít pcpu a pmem místo %cpu a %mem.
    • Ale bohužel (nevím proč) nefunguje na některých počítačích (Oracle Linux) a některých starších počítačích. Můžete použít následující podobné alternativy.
  2. [[email protected] ~]$ ps -eo pid,cmd,%cpu,%mem --sort -rss

    Kde,

    • -rss: rezidentní velikost sady, nevyměněná fyzická paměť, kterou úkol použil
  3. [[email protected] ~]$ ps --cols 120 aux --sort -rss

    Kde,

    • --cols 100: pro specifikaci šířky sloupce výstupu, jak se někdy cmd dostane velmi dlouho. Není to nutné, pokud nechcete zkrácené příkazy s argumenty.
    • aux: vidět každý proces v systému pomocí BSD syntaxe

Nejlepší cesta:

[[email protected] ~]$ top -b -o +%MEM

Kde,

  • -b: použití top jako režimu batch.
  • -o: k přepsání třídění název pole následovaný názvem pole %MEM

A můžete vždy použít head a/nebo tail k řízení výstupu.

1
muhammad

Tento příkaz identifikuje procesy náročné na nejvyšší paměť:

ps -A --sort -rss -o pid,pmem:40,cmd:500 | head -n 6 | tr -s " " ";z"
1
user90191

Globálně: Vždy se doporučuje používat nástroj pro analýzu protokolů pro protokolování protokolů historie, jako je Splunk, ELK atd. Takže pomocí jazyka dotazu můžete snadno získat PID a jejich využití pomocí CPU a paměti.

NA ÚROVNI SERVERU/OS: Zevnitř můžete vyzkoušet následující:

 Press SHIFT+M  ---> This will give you a process which takes more memory in descending order.

Můžete také zkusit:

$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -10

Tím získáte 10 nejlepších procesů podle využití paměti. Pomocí nástroje vmstat můžete také najít využití RAM současně ne pro historii).

0
Santosh Garole

Si můžete vyzkoušet ps aux --sort -rss | head nebo ps aux | sort -nk +4 | tail

0
David Okwii