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í.