Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 67240|Atsakyti: 2

[Šaltinis] JAVA klaida įvyko inicijuojant VM klaidą

[Kopijuoti nuorodą]
Paskelbta 2017-08-14 16:49:22 | | | |
Inicijuojant VM įvyko klaida
Nepavyko rezervuoti pakankamai vietos 3145728KB objektų krūvai



Neseniai dirbo su "Java" programa. Iš pradžių man visada patiko "Java" atminties valdymas, nereikia jaudintis dėl atminties paskirstymo, tiesiog paskirstykite, šiukšlių surinkėjas atgaus atmintį už jus. Dabar programa sukurta su dideliu duomenų kiekiu, o greičio sumetimais ketinu įkelti visą informaciją į atmintį, kuri užtikrins greitą atsakymą. Aš vis dar pakartotinai skaičiuoju atmintį, galvoju apie savo duomenų kiekį, kurio pradžioje turėtų pakakti (mano mašina turi 4G atmintį, nors "Windows" atpažįsta 3.5G, bet tai turėtų būti gerai, palyginti su dabartiniu duomenų kiekiu).

Netikėtai pirmojo eksperimento programa veikė kelias valandas ir susidūrė su atminties trūkumo išimtimi. Žiūrėdamas į savo VM nustatymus, nustatiau -Xms512M -Xmx1024M. Apie tai negalvodamas, tiesiogiai pakeičiau jį į -Xms512M -Xmx2048M, ir rezultatas buvo toks, kad negalėjau rezervuoti pakankamai vietos objektų krūvai. Programa negali atsikelti. Tik tada supratau, kad vis dar yra pradinės maksimalios atminties riba. Ieškojau internete ir radau daug straipsnių, kuriuose aptariamas šis klausimas. Galiausiai radau naudingiausią straipsnį BEA DEV2DEV forume

Čia moderatorius YuLimin atliko testą ir padarė išvadą:

Įmonės JVM versija Maksimali atmintis (mega) klientas Maksimali atmintis (mega) serveris

SEKMADIENIS 1.5.x 1492 1520

SAULĖ 1.5.5 (Linux) 2634 2660

SEKMADIENIS 1.4.2 1564 1564

SAULĖ 1.4.2 (Linux) 1900 1260

IBM 1.4.2 (Linux) 2047 N/A

BEA JRockit 1.5 (U3) 1909 1902

Dabar naudoju JDK1.6.0_05, išbandžiau. Didžiausias dalykas kliento būsenoje yra tai, kad mano JDK neatpažįsta parametro -Server ir negali patikrinti serverio būsenos. Skaičiavimai yra maždaug tokie patys.

SEKMADIENIS 1.6.0 1442 N/a

Atrodo, kad "Java" neįmanoma naudoti didelės atminties. Ir bendras posakis yra tas, kad jei atmintis yra per didelė, šiukšlių surinkimo laikas bus ilgas. Tai taip pat suprantama, paprastai renkama, kai atminties nepakanka, 2G atminties nuskaitymas, žinoma, yra daug lėtesnis nei 1G, o atminties objektų yra daugiau, numatomas ryšys eksponentiškai didėja.

Žemiau pateikiami YuLimin bandymo metodai ir bandymų įrašai.

Bandymo metodas:Išbandykite naudodami komandą java -XmxXXXXM -version komandinėje eilutėje, o tada palaipsniui didinkite XXXX vertę, jei ji vykdoma normaliai, tai reiškia, kad yra nurodytas atminties dydis, kitaip bus išspausdintas klaidos pranešimas.





Patikrinkite maksimalią palaikomą JVM atmintį, tada nustatykite sistemos aplinkos kintamuosius

Kintamojo pavadinimas: _JAVA_OPTIONS
Vertė: - Xmx1G






Ankstesnis:Naudojamas "jQuery" viso ekrano papildinys "jQuery Fullscreen Plugin"
Kitą:Skirtumas tarp SSL, OV, DV ir EV sertifikatų
 Savininkas| Paskelbta 2017-08-14 16:51:30 |
"Java" versija "1.8.0_144"
Java(TM) SE vykdymo aplinka (komponavimo versija 1.8.0_144-b01)
"Java HotSpot(TM)" 64 bitų serverio VM (25.144-b01 komponavimo versija, mišrus režimas)



Java versija "1.8.0_144" 64 bitų serverio režimas, 80G atmintis, jokių problemų

 Savininkas| Paskelbta 2020-09-01 22:29:04 |
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com