作者mozzan (mozzan)
看板java
标题Re: [问题] 观察JAVA耗费资源的方法?
时间Wed Apr 9 18:29:20 2014
哈 我又来了
我现在是用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://webptt.com/cn.aspx?n=bbs/java/M.1397039364.A.51B.html
1F:推 PsMonkey:GC 是针对 JVM,与 JVM 本身占多少 OS 记忆体无关 04/09 19:14
2F:→ PsMonkey:是说这个「永生代」的翻译是哪来的阿? 04/09 19:19
3F:→ mozzan:我印象中是从直达JVM看见的@@ 04/09 19:46