Java Speicherauslastung verringern

Fand ich heraus, dass wenn meine Bewerbung hat viel freien Speicherplatz es verbraucht mehr Speicher, als es braucht. Ich habe gehört, dass dieses Verhalten üblich ist für alle Java-Anwendungen, aber es ist für mich nicht akzeptabel.

Also die Frage ist, wie kann ich erzwingen, Java zu verwenden, die weniger Speicher?

Ich weiß, dass ich anrufen kann System.gc() manuell alle paar Sekunden, aber ist es okay, so zu tun und gibt es noch andere Methoden?

P. S. meine Anwendung wird regelmäßig aktualisiert auf Produktions-server und ich brauche, um Speichernutzung zu überwachen, die für einige Lecks und so weiter (in der Regel gibt es keine Lecks, aber wenn einer erscheint, ich sollte sehen, so schnell wie möglich), und auch ich brauche, um die Uhrzeit Vorhersagen, Wann sollte ich ein upgrade meiner hardware. All diese Dinge sind sehr schwer zu tun, wenn die jvm unvorhersehbar ändert seinen Speicher hunger. Also das einzige was ich will, ist eine Kraft, die jvm zu sein, berechenbar memory-Nutzung (wenn die Zahl der Nutzer verdoppelt Speicher sollte verdoppelt auch)

  • Kann es Zeit, neu zu denken, warum es nicht akzeptabel ist. Können Sie geben einen technischen Grund, oder ist es etwas, das macht Sie unbequem?
  • Vielleicht sollten Sie nicht tun, Ihre Prüfung auf einem Produktions-server? Und nur bereitstellen, wenn Sie wissen, gibt es keine Lecks?
  • dies ist nicht ein Test, natürlich habe ich Test-server zu, aber es läuft mit unterschiedlicher Last
  • Es klingt wie Sie brauchen, um Speicher-Profil der Anwendung, so dass Sie verstehen, wie Speicher verwendet wird. Blick auf den maximalen Speicher, den Sie geben, die Anwendung ist nicht sehr nützlich. Eine bessere Zahl zu betrachten ist, wie viel Speicher verwendet wird, nachdem eine GC. Angesichts der Kosten von Speicher ist ziemlich gering ich vorschlagen, immer mehr Speicher, als Sie wahrscheinlich brauchen, und Sie nicht haben, um es überwachen oder aktualisieren Sie den server später (spart Geld, rundum)
  • 32 GB : 8 x 4 GB Speicher 1600 kostet rund 160 Dollar. Wenn Sie beginnen, mit so viel Speicher, die Sie vielleicht nicht brauchen, um zu überwachen, was könnte leicht sparen Sie so viel Speicher über die Lebensdauer des Systems.
InformationsquelleAutor tsds | 2012-02-03
Schreibe einen Kommentar