Noo*_*leX 7 java memory native out-of-memory
有没有工具可以知道我的java应用程序使用了多少本机内存?我从我的应用程序中经历过outofmemory:当前设置是:-Xmx900m
电脑,Windows 2003 Server 32位,RAM 4GB.
在Windows上将boot.ini更改为/ 3GB也会有什么不同?如果设置为Xmx900m,可以为此进程分配多少最大本机内存?是1100米吗?
Eug*_* To 14
(在我的情况下,我使用java 8)
添加到命令行: -XX:NativeMemoryTracking=summary
然后发射 jcmd <PID> VM.native_memory
你应该得到这样的东西:
Total: reserved=3863657KB, committed=1679977KB
- Java Heap (reserved=1843200KB, committed=824320KB)
(mmap: reserved=1843200KB, committed=824320KB)
- Class (reserved=1311974KB, committed=298726KB)
(classes #52579)
(malloc=5350KB #76340)
(mmap: reserved=1306624KB, committed=293376KB)
- Thread (reserved=263278KB, committed=263278KB)
(thread #256)
(stack: reserved=262140KB, committed=262140KB)
(malloc=839KB #1280)
(arena=299KB #510)
- Code (reserved=278521KB, committed=164773KB)
(malloc=28921KB #37983)
(mmap: reserved=249600KB, committed=135852KB)
- GC (reserved=114897KB, committed=77093KB)
(malloc=13729KB #67925)
(mmap: reserved=101168KB, committed=63364KB)
- Compiler (reserved=461KB, committed=461KB)
(malloc=330KB #1138)
(arena=131KB #3)
- Internal (reserved=13877KB, committed=13877KB)
(malloc=13845KB #72978)
(mmap: reserved=32KB, committed=32KB)
- Symbol (reserved=28871KB, committed=28871KB)
(malloc=24740KB #275452)
(arena=4131KB #1)
- Native Memory Tracking (reserved=8393KB, committed=8393KB)
(malloc=45KB #523)
(tracking overhead=8348KB)
- Arena Chunk (reserved=184KB, committed=184KB)
(malloc=184KB)
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr007.html