Speicherengpässe
Wenn die Ergebnisse von vmstat auf einen Speicherengpass hinweisen, müssen Sie herausfinden, welche Prozesse einen großen Anteil des Speichers belegen und welche dieser Prozesse (falls vorhanden) ansteigen.
Verwenden Sie das Tool svmon:
> svmon -P -t 5
Dieser Befehl gibt folgende Ausgabe aus:-------------------------------------------------------------------------------
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd
38454 java 76454 1404 100413 144805 N Y
-------------------------------------------------------------------------------
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd
15552 X 14282 1407 17266 19810 N N
-------------------------------------------------------------------------------
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd
14762 dtwm 3991 1403 5054 7628 N N
-------------------------------------------------------------------------------
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd
15274 dtsessi 3956 1403 5056 7613 N N
-------------------------------------------------------------------------------
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd
21166 dtpad 3822 1403 4717 7460 N N
Diese Ausgabe zeigt, dass der höchste Speicherbenutzer Java™ist und dass er 144805 Seiten des virtuellen Speichers verwendet (144805 * 4 KB = 565.64 MB). Dies ist keine unzumutbare Speicherkapazität für eine JVM mit einem großen Java-Heapspeicher-in diesem Fall 512 MB.Wenn bei diesem Grad der Arbeitslast ein Speicherengpass im System vorliegt, können Sie zur Abhilfe nur entweder mehr physischen Hauptspeicher schaffen oder versuchen, die verfügbare Menge an Paging-Speicherbereich zu optimieren. Hierfür müssen Sie die Werte maxperm und minperm mit dem Befehl vmtune ändern.
Wenn der Java-Prozess seine Speicherbelegung weiter erhöht, wird eine eventuelle Speichereinschränkung durch ein Speicherleck verursacht.