Knight's Blog
滴滴海浪技术主管, 前百度资深研发工程师,现居上海。 擅长于大规模的系统平台服务架构。在

- 亿级别搜索平台(sov5.com)
- 大规模分布式爬虫
- 中间件架设(disconf,CanalX)
- 广告平台(百度联盟广告)
- 租车平台(滴滴租车)
- 语言招聘平台(51tra.com)
- 内容平台(100weidu.com)
- 社区平台(python88.com)
- 资源下载平台(misou.com)
- 计算机图形图像技术(一篇一作)
- 机器学习(一篇一作)

等领域具有颇有经验。
联系方式: knightliao AT gmail.com
联系
Knight's Blog » 工作

java 内存一例浅析

2015-07-29 10:52

执行 ./jstat -gc 131

image

执行 ./jstat -gcutil 131

image

可以分析出:

S0: 0M / 1M
S1: 500K / 1M
E:  250M / 500M
O:  486M / 1323M
P:  91M  / 262M
YGCT:   481/5.8 
FUC:    2/2.76
GCT:    8.599

查看下java进程

work       131 28.8  1.5 2365700 2006180 ?   SNl  Jul28 321:39 /home/work/app/.jdk/bin/java -Djava.util.logging.config.file=/home/
work/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -verbose:gc -Xloggc:/home/w
ork/logs/gc.log -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Djava.awt.headless=true -XX:MaxNewSize=500M -XX:PermSize=64m -XX:MaxPe
rmSize=256M -XX:SurvivorRatio=4 -Xss256K -Xmx1792m -Xms1792m -XX:PermSize=256m -XX:MaxPermSize=256m -Duser.timezone=GMT+08 -javaag
ent:/home/work/.jvmagent/jvmagent.jar -Dport.http.nonssl=8080 -Djava.endorsed.dirs=/home/work/endorsed -classpath /home/work/bin/b
ootstrap.jar -Dcatalina.base=/home/work -Dcatalina.home=/home/work -Djava.io.tmpdir=/home/work/temp org.apache.catalina.startup.Bo
otstrap start

查看到

-Xmx1792m -Xms1792m

Xmx 和 Xms = O+E ,和上面使用 jstat 查出来的数据是一致的。

如果发现机器上内存量一直很高,可以考虑 将 Xmx 和 Xms 增大。

还有一种简单做法,比如baidu的做法是 将 Xmx 设定 为机器内存 -256M

这样的话,只要你的机器内存变大,那么java进程可以使用的内存也会变大。

参考: http://blog.csdn.net/lei_1000/article/details/5034687

本文链接地址:java 内存一例浅析
871 次点击