JVM內存初步學習

JVM內存初步學習

 

最近在學習容器內的JVM運行, 簡單總結了下學習結果, 但是感覺還是分不清楚很多地方:

 

 

同事幫忙進行了 native memory的監控, 主要信息簡要如下:

jvm剛運行起來時的信息爲:

我這邊容器運行時, 使用的參數是 4c4g 

jvm 啓動的參數爲:

 -Xmx2560m -Xms2560m -XX:MetaspaceSize=512m

根據下面的監控結果 

但是明顯看到 reserved的內存是 4.7g 超過了 堆區和元數據區的總和.

也看到了 committed的內存大小是 3.5g 左右. 

內存分類信息爲:

堆區 2.5g 左右就是 直接分配的大小了, 齊總應該包含 Class的信息是 1.3g左右, 其他空間應該是暫時的空閒區域. 

線程池  200m JIT編譯緩存代碼 280m  垃圾回收線程 100m  我理解的 symbol 應該就是文件對象的緩存(不一定正確)

可以看到內存的需求種類還是非常繁多的. 

Native Memory Tracking:

 

Total: reserved=4703901KB, committed=3595737KB

-                 Java Heap (reserved=2621440KB, committed=2621440KB)

                            (mmap: reserved=2621440KB, committed=2621440KB) 

 

-                     Class (reserved=1294166KB, committed=277974KB)

                            (classes #44537)

                            (malloc=12118KB #109287) 

                            (mmap: reserved=1282048KB, committed=265856KB) 

 

-                    Thread (reserved=189995KB, committed=189995KB)

                            (thread #185)

                            (stack: reserved=189112KB, committed=189112KB)

                            (malloc=603KB #926) 

                            (arena=280KB #365)

 

-                      Code (reserved=282656KB, committed=190684KB)

                            (malloc=33056KB #43651) 

                            (mmap: reserved=249600KB, committed=157628KB) 

 

-                        GC (reserved=101602KB, committed=101602KB)

                            (malloc=5822KB #1753) 

                            (mmap: reserved=95780KB, committed=95780KB) 

 

-                  Compiler (reserved=625KB, committed=625KB)

                            (malloc=494KB #5497) 

                            (arena=131KB #6)

 

-                  Internal (reserved=151177KB, committed=151177KB)

                            (malloc=151145KB #56630) 

                            (mmap: reserved=32KB, committed=32KB) 

 

-                    Symbol (reserved=50252KB, committed=50252KB)

                            (malloc=47751KB #509336) 

                            (arena=2501KB #1)

 

-    Native Memory Tracking (reserved=11411KB, committed=11411KB)

                            (malloc=36KB #426) 

                            (tracking overhead=11375KB)

 

-               Arena Chunk (reserved=576KB, committed=576KB)

                            (malloc=576KB) 

運行一晚上後的信息爲:

能夠看到 一晚上多了200m的內存 commited 數量, 並且有持續增加的區趨勢

堆區因爲有限制, 所以不會有大的變化, 但是可以看到 class的數量就是變大了. 多了100m

棧區域基本不變, 還是200個左右. 

jit 代碼緩存增長了大約10m

其他內存變化不是特別大. 

但是感覺內存還是存在上漲的區域 容器內運行時還是需要控制各個區域內存的大小,避免出現超過container的限制而崩潰. 

Total: reserved=4775691KB, committed=3711687KB

-                 Java Heap (reserved=2621440KB, committed=2621440KB)

                            (mmap: reserved=2621440KB, committed=2621440KB) 

 

-                     Class (reserved=1336975KB, committed=327439KB)

                            (classes #52046)

                            (malloc=13967KB #137324) 

                            (mmap: reserved=1323008KB, committed=313472KB) 

 

-                    Thread (reserved=204481KB, committed=204481KB)

                            (thread #199)

                            (stack: reserved=203504KB, committed=203504KB)

                            (malloc=649KB #996) 

                            (arena=328KB #393)

 

-                      Code (reserved=290336KB, committed=235868KB)

                            (malloc=40736KB #56418) 

                            (mmap: reserved=249600KB, committed=195132KB) 

 

-                        GC (reserved=101611KB, committed=101611KB)

                            (malloc=5831KB #2046) 

                            (mmap: reserved=95780KB, committed=95780KB) 

 

-                  Compiler (reserved=841KB, committed=841KB)

                            (malloc=710KB #7054) 

                            (arena=131KB #6)

 

-                  Internal (reserved=153165KB, committed=153165KB)

                            (malloc=153133KB #66436) 

                            (mmap: reserved=32KB, committed=32KB) 

 

-                    Symbol (reserved=53852KB, committed=53852KB)

                            (malloc=51319KB #545043) 

                            (arena=2533KB #1)

 

-    Native Memory Tracking (reserved=12795KB, committed=12795KB)

                            (malloc=41KB #480) 

                            (tracking overhead=12755KB)

 

-               Arena Chunk (reserved=193KB, committed=193KB)

                            (malloc=193KB) 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章