Re: [問題] 觀察JAVA耗費資源的方法?

看板java作者 (mozzan)時間11年前 (2014/04/09 18:29), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/2 (看更多)
哈 我又來了 我現在是用Visual VM 觀察JAVA 程序 這次想問的問題是有關記憶體計算部分 我附上兩張圖 (1) http://ppt.cc/KxfU (2) http://ppt.cc/pKho 第一張圖可以看到 Heap Size 約為 470MB 第二章圖可以看到 永生代 Size 為 62MB 問題來了 1. 我用ps -Lo pid,ppid,pgid,nlwp,lwp,stat,%mem -p <pid> 來看 %MEM 為 16.7% ,加上free指令,記憶體耗用約為 675MB 想請問 470 + 62 < 675 ,是因為還有其他未算到的部分嗎? 2. 第一張圖可以看到 Heap Size 約在 470MB 然後 Used 約在 50 ~ 200MB 這部分感覺 Size 可以再往下降,這樣是不是系統就可以多一些記憶體能用 但這部分跟 JVM 本身的演算法有關就是了 3. 第一張圖的 1/3 那邊有看到 Size 往下降一大部分,但是我在 server實際去查 ,照我第一點那樣查,發現 Process 也沒有釋放那些的記憶體,那那塊降下來 的記憶體跑去哪了?? 4. 這是一台webmail process,在下午時候連線較多,我在早上時候觀察時,有發現 在 minor gc 的頻率較下午高,約5分鐘 2~3次,下午大概 5分鐘1次,這部分是不是 和 jvm 擁有了較多的 Heap Size 有關,因為 allocate 較多 heap size 所以可以累積 到較多的量再做 GC,這部分似乎是我的 Process 占用記憶體越飆越高的原因,這邊不知道 能不能調整。 感謝閱讀,明天繼續觀察 ヾ(○’▽‘○)ノ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.221.217 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1397039364.A.51B.html

04/09 19:14, , 1F
GC 是針對 JVM,與 JVM 本身佔多少 OS 記憶體無關
04/09 19:14, 1F

04/09 19:19, , 2F
是說這個「永生代」的翻譯是哪來的阿?
04/09 19:19, 2F

04/09 19:46, , 3F
我印象中是從直達JVM看見的@@
04/09 19:46, 3F
文章代碼(AID): #1JHI44KR (java)
文章代碼(AID): #1JHI44KR (java)