Unter Linux im top
können Sie <
drücken Taste, um die Sortierung der Ausgabeanzeige nach links zu verschieben. Standardmäßig ist es nach %CPU
sortiert Wenn Sie also die Taste 4 Mal drücken, wird nach VIRT
sortiert Das ist die virtuelle Speichergröße, die Ihnen Ihre Antwort gibt.
Eine andere Möglichkeit, dies zu tun, ist:
ps -e -o pid,vsz,comm= | sort -n -k 2
sollte Ihnen eine nach Prozessen sortierte virtuelle Größe geben.
Hier ist die Langversion:
ps --everyone --format=pid,vsz,comm= | sort --numeric-sort --key=2
Zeigt den Prozessspeicher in Megabyte und den Prozesspfad an.
ps aux | awk '{print $6/1024 " MB\t\t" $11}' | sort -n
Nur eine Randnotiz auf einem Server, der die gleichen Symptome zeigt, aber immer noch Speichererschöpfung zeigt. Was am Ende gefunden wurde, war eine sysctl.conf aus einer Box mit 32 GB RAM und einem Setup für eine DB mit riesigen Seiten, die auf 12000 konfiguriert waren. Diese Box hat nur 2 GB RAM, also wies sie den ganzen freien RAM den riesigen Seiten zu (nur 960 davon). Das Festlegen von Huge Pages auf 10, da sowieso keine verwendet wurden, hat den gesamten Speicher freigegeben.
Eine schnelle Überprüfung von /proc/meminfo, um nach den HugePages_-Einstellungen zu suchen, kann ein guter Anfang für die Fehlersuche bei mindestens einem unerwarteten Speicherfresser sein.