Som nová JAVA.
Používame jeden nástroj, ktorý používa veľkosť JAVA haldy.
Nedávno čelíme "java.lang.OutOfMemoryError: Priestor haldy Java"a nástroj sa dostáva HUNG.
Teraz mám v pláne napísať skript, aby sa veľkosť haldy a ak vynechá limt musím vyčistiť GC, takže haldy použitie bude opäť nízka.
Prosím, pomôžte mi v tomto.
Stroj OS: Win 2012 Server
odpovede:
1 pre odpoveď č. 1Ok. Dve veci.
Ak dostanete OutOfMemoryError, zbierka na odpadky nepomôže. OutOfMemoryErrors sú:
Hozený, keď Java Virtual Machine nemôže vyhradiť objekt, pretože je mimo pamäte, a zberač odpadu by nemohol sprístupniť viac pamäte, Objekty OutOfMemoryError môžu byť konštruované virtuálnym strojom, ako keby bolo potlačenie zakázané a / alebo stopa zásobníka nebola zapisovateľná. zdroj
Existuje niekoľko implementácií JMX pre Perl. Tu je prvý výsledok Google
To však nepomôže, pretože problém nie je to, čo si myslíte, že je. Problém je buď:
- Program vyžaduje viac priestoru haldy, než je momentálne k dispozícii. Pre JVM musíte prideliť viac miesta haldy.
- Aplikácia presakuje pamäť (dobre technicky objekty, ale výsledok je rovnaký). Musíte najať lepších programátorov.