2010-12-16 11 views
2

OK Leute, das ist eine andere "Ich denke, ist eine dumme Frage", aber aus Gründen der Übersichtlichkeit garantiert erscheint dumm.JVM Page Faults sollte Null sein, oder? Wie hoch ist OK?

Im Windows-Task-Manager für eine ordnungsgemäß konfigurierte JVM sollte der Seitenfehler Null sein, oder? (Oder "top" für Linux-Leute)

zB wenn Ihr Xmx sagt "4G" und die JVM hat 4G physischen RAM verfügbar (zB aus insgesamt 8G, so dass 3 + G für das O), das OS sollte niemals in pagefile.sys für normale jvm-Operationen greifen.

Das ist die Theorie. Was ist die Praxis? Und wenn Seitenfehler nicht Null sind, was ist eine akzeptable Zahl?

Überwachungstools

Was ist der beste Weg für ‚Seitenfehler zu hoch‘ zu überwachen?

dank

+0

Wie denkst du, dass der jvm selbst, alle nativen Bibliotheken und alle Klassenbibliotheken in den Speicher gebracht werden? –

Antwort

2

Auch wenn Sie eine große Menge an Speicher für die JVM-Heap, Seitenfehler auftreten können noch vergeben. Wenn Sie beispielsweise versuchen, eine Datei zu laden, die sich auf einer Festplatte befindet, aber nicht dem RAM zugeordnet ist, tritt ein Seitenfehler auf, und die Datei wird in den Speicher ausgelagert.

+0

Warum erscheinen java.io.File-Operationen als "Seitenfehler" im Windows-Task-Manager? – user331465

+0

@ user331465: Da ein Seitenfehler auftritt, wenn Daten nicht im physischen Speicher vorhanden sein müssen. Sie passieren die ganze Zeit, auch wenn ein Prozess zuerst auf Ihrem System initialisiert wird. –