Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 67240|Antwoord: 2

[Bron] JAVA-fout trad op tijdens de initialisatie van de VM-fout

[Link kopiëren]
Geplaatst op 14-08-2017 16:49:22 | | | |
Er trad een fout op tijdens de initialisatie van de VM
Kon niet genoeg ruimte reserveren voor een objectheap van 3145728KB



Onlangs werk ik aan een programma voor Java. Oorspronkelijk vond ik Java's geheugenbeheer altijd prettig, je hoeft je geen zorgen te maken over het toewijzen van geheugen, gewoon toewijzen, de garbage collector zal het geheugen voor je terugwinnen. Nu is het programma ontwikkeld met een grote hoeveelheid data, en voor het tempo ga ik alle informatie in het geheugen laden, wat zorgt voor een snelle reactie. Ik tel nog steeds herhaaldelijk het geheugen, denk aan mijn eigen datavolume, wat in het begin voldoende zou moeten zijn (mijn machine heeft 4G-geheugen, hoewel Windows 3,5G herkent, maar dat zou prima moeten zijn vergeleken met mijn huidige datavolume).

Onverwacht liep het programma van het eerste experiment enkele uren en kwam een Out of Memory Exception tegen. Als ik naar mijn eigen VM-instellingen kijk, stel ik -Xms512M -Xmx1024M in. Zonder erover na te denken heb ik het direct veranderd naar -Xms512M -Xmx2048M, en het resultaat was dat ik niet genoeg ruimte kon reserveren voor object heap. Het programma kan niet opstaan. Pas toen realiseerde ik me dat er nog steeds een limiet was aan het oorspronkelijke maximale geheugen. Ik heb op internet gezocht en veel artikelen gevonden die dit onderwerp bespreken. Uiteindelijk vond ik het meest nuttige artikel op het DEV2DEV forum van BEA

Hier deed moderator YuLimin de test en kwam tot de conclusie:

Bedrijf JVM-versie Maximale geheugen (mega) client Maximale geheugen (mega) server

ZO 1.5.x 1492 1520

SUN 1.5.5(Linux) 2634 2660

ZO 1.4.2 1564 1564

SUN 1.4.2(Linux) 1900 1260

IBM 1.4.2(Linux) 2047 N.A

BEA JRockit 1.5 (U3) 1909 1902

Ik gebruik JDK1.6.0_05 nu, heb het getest. Het grootste probleem in de clientstatus is dat mijn JDK de -Serverparameter niet herkent en de serverstatus niet kan testen. De schattingen zijn ongeveer hetzelfde.

ZON 1.6.0 1442 N/a

Het lijkt onmogelijk om groot geheugen in Java te gebruiken. En het algemene gezegde is dat als het geheugen te groot is, de tijd voor het opruimen van het afval lang zal zijn. Dit is ook begrijpelijk, meestal verzameld wanneer het geheugen niet genoeg is, het scannen van 2G-geheugen is natuurlijk veel langzamer dan 1G, en er zijn meer geheugenobjecten, de geschatte relatie neemt exponentieel toe.

Hieronder staan de testmethoden en testgegevens van YuLimin bijgevoegd.

Testmethode:Test met het java -XmxXXXXM -version commando onder de commandoregel, en vervolgens geleidelijk de waarde van XXXX verhogen, betekent dit dat als het normaal wordt uitgevoerd dat de opgegeven geheugengrootte beschikbaar is, anders wordt er een foutmelding weergegeven.





Test het maximaal ondersteunde geheugen van de JVM en stel vervolgens de omgevingsvariabelen in op het systeem

Variabelennaam: _JAVA_OPTIONS
Waarde: - Xmx1G






Vorig:jQuery fullscreen plugin "jQuery Fullscreen Plugin" wordt gebruikt
Volgend:Het verschil tussen SSL-, OV-, DV- en EV-certificaten
 Huisbaas| Geplaatst op 14-08-2017 16:51:30 |
Java-versie "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-bit Server VM (build 25.144-b01, gemengde modus)



Java-versie "1.8.0_144" 64-bit server-side modus, 80g geheugen, geen probleem

 Huisbaas| Geplaatst op 01-09-2020 22:29:04 |
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com