My application doesn't explicitly intern anything, though our libraries might. However, when running jmap as you suggested no interned strings are reported. And no. Full GC never occurred in the 2 or so days we ran G1 before the OS killed our proc due to system memory exhaustion.
Here is the output of jmap: JVM version is 25.45-b02 using thread-local object allocation. Garbage-First (G1) GC with 13 thread(s) Heap Configuration: MinHeapFreeRatio = 40 MaxHeapFreeRatio = 70 MaxHeapSize = 17179869184 (16384.0MB) NewSize = 1363144 (1.2999954223632812MB) MaxNewSize = 13740539904 (13104.0MB) OldSize = 5452592 (5.1999969482421875MB) NewRatio = 2 SurvivorRatio = 8 MetaspaceSize = 21807104 (20.796875MB) CompressedClassSpaceSize = 1073741824 (1024.0MB) MaxMetaspaceSize = 1073741824 (1024.0MB) G1HeapRegionSize = 8388608 (8.0MB) Heap Usage: G1 Heap: regions = 2048 capacity = 17179869184 (16384.0MB) used = 7899518456 (7533.5678634643555MB) free = 9280350728 (8850.432136535645MB) 45.98124916665256% used G1 Young Generation: Eden Space: regions = 518 capacity = 7700742144 (7344.0MB) used = 4345298944 (4144.0MB) free = 3355443200 (3200.0MB) 56.42701525054466% used Survivor Space: regions = 58 capacity = 486539264 (464.0MB) used = 486539264 (464.0MB) free = 0 (0.0MB) 100.0% used G1 Old Generation: regions = 367 capacity = 8992587776 (8576.0MB) used = 3067680248 (2925.5678634643555MB) free = 5924907528 (5650.4321365356445MB) 34.11343124375414% used On Wed, Feb 22, 2017 at 11:04 AM, yu.zh...@oracle.com <yu.zh...@oracle.com> wrote: > Will, > > Does your application generate a lot of interned string? > > Another way to confirm is with jmap -heap <pid> 'interned Stings' should > be printed. Did full gc happen during the run? > > Thanks > > Jenny > > On 02/21/2017 10:52 AM, Will Bertelsen wrote: > > Hi All, > > I've been experimenting with G1 in production and have noticed a large > native memory leak that eventually exhausts all memory on the system. I ran > it overnight with NMT enabled and this was the biggest offender: > > [0x00007f86c31cf205] Hashtable<oopDesc*, (MemoryType)9>::new_entry(unsigned > int, oopDesc*)+0x165 > [0x00007f86c35dd263] StringTable::basic_add(int, Handle, unsigned short*, > int, unsigned int, Thread*)+0xd3 > [0x00007f86c35dd452] StringTable::intern(Handle, unsigned short*, int, > Thread*)+0x182 > [0x00007f86c35dd921] StringTable::intern(oopDesc*, Thread*)+0x131 > (malloc=2628520KB +2601784KB #328565 +325223) > > Has anyone seen this before? > > Here is my java version and gc settings: > > java version "1.8.0_45" > Java(TM) SE Runtime Environment (build 1.8.0_45-b14) > Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode) > > -Xmx16384M > -Xms16384M > -XX:+AggressiveOpts > -XX:+UnlockExperimentalVMOptions > > -XX:+UseG1GC > -XX:G1HeapRegionSize=8M > -XX:G1NewSizePercent=20 > -XX:G1MaxNewSizePercent=80 > > -XX:MaxGCPauseMillis=250 > -XX:MaxMetaspaceSize=1G > > > _______________________________________________ > hotspot-gc-use mailing > listhotspot-gc-...@openjdk.java.nethttp://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use > > >
_______________________________________________ hotspot-gc-use mailing list hotspot-gc-use@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use