GNU/Linux >> Znalost Linux >  >> Linux

Linux:zjistěte, jaký proces využívá všechnu RAM?

V systému Linux v top můžete stisknout < tlačítko pro posunutí řazení výstupního zobrazení doleva. Ve výchozím nastavení je řazen podle %CPU takže pokud stisknete klávesu 4krát, seřadíte ji podle VIRT což je velikost virtuální paměti, která vám dá odpověď.

Další způsob, jak to udělat, je:

ps -e -o pid,vsz,comm= | sort -n -k 2

by vám měl poskytnout výstup seřazený podle virtuální velikosti procesů.

Zde je dlouhá verze:

ps --everyone --format=pid,vsz,comm= | sort --numeric-sort --key=2

Zobrazit paměť procesů v megabajtech a cestu procesu.

ps aux  | awk '{print $6/1024 " MB\t\t" $11}'  | sort -n

Jen okrajová poznámka na serveru vykazující stejné příznaky, ale stále ukazující vyčerpání paměti. Nakonec byl nalezen sysctl.conf z krabice s 32 GB RAM a nastavení pro DB s obrovskými stránkami nakonfigurovanými na 12 000. Tento box má pouze 2 GB RAM, takže přiřazoval veškerou volnou RAM velkým stránkám (pouze 960 z nich). Nastavením velkých stránek na 10, protože stejně nebyly použity žádné, se uvolnila celá paměť.

Rychlá kontrola /proc/meminfo a vyhledání nastavení HugePages_ může být dobrým začátkem pro odstraňování problémů s alespoň jedním neočekávaným pamětí.


Linux
  1. Jakou verzi Linuxu používám? Zde je návod, jak to zjistit

  2. Najděte čas provedení příkazu nebo procesu v systému Linux

  3. Linux – Jak zjistit, jaké pevné disky jsou v systému?

  1. Jak najít všechny řídké soubory v Linuxu

  2. Co v linuxu znamenají všechny hodnoty v příkazu top?

  3. Jak zjistit, který proces používá soubor v Linuxu?

  1. Jak zjistit, jaké schopnosti linuxu proces vyžaduje, aby fungoval?

  2. Jaká je definice relace v linuxu?

  3. Co je to příkaz k nalezení priority procesu v Linuxu?