JVM调优总结

原创
2013/05/21 15:13
阅读数 1.3K

更多内容,请访问:http://shellblog.sinaapp.com/

最近这段时间一直在看JVM调优方面的文章,今天总结一下常用的调优参数。

1.堆大小

-Xms和-Xmx用于指定堆大小,我们需要将他们俩设置为一样的值,以避免在GC后重新调整堆的大小。

2.年轻代大小

-XX:NewSize=?和–XX:MaxNewSize=?,年轻代大小建议设置为堆大小的1/3或者1/4,两个值大小一样。设置年轻代大小相当重要,如果年轻代设置小了,那么一些可以生存周期短的对象可能被移到年老代,导致Full GC,而设置太大,也会引起stop the world。

3.方法区大小

-XX:PermSize=256m-XX:MaxPermSize=256m,方法区大小不会影响性能,只要你设置的值保证应用不报OOM之类的错误即可。

4.GC日志

-Xloggc:$CATALINA_BASE/logs/gc.log-XX:+PrintGCDetails-XX:+PrintGCDateStamps,尽可能多的记录一些GC日志,这样可以全面的分析系统行为。

5.GC算法

-XX:+UseParNewGC-XX:+CMSParallelRemarkEnabled-XX:+UseConcMarkSweepGC、       -XX:CMSInitiatingOccupancyFraction=75,这只是一般系统中经常用的参数,你还需要根据你的系统情况选择最适合你的系统。

6.堆快照

-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=$CATALINA_BASE/logs。

7.OOM发生之后的操作

OOM后关闭服务器:-XX:OnOutOfMemoryError=$CATALINA_HOME/bin/stop.sh

OOM后重启服务器: -XX:OnOutOfMemoryError=$CATALINA_HOME/bin/restart.sh

展开阅读全文
打赏
0
52 收藏
分享
加载中
lateron博主

引用来自“sofn”的评论

太简单的吧~

只是一个简单的总结,不过基本的配置也就这了。
2013/05/22 17:49
回复
举报
太简单的吧~
2013/05/22 17:46
回复
举报
其他的先不论,终于知道OOM的意思了,嘎嘎~OutOfMemory
2013/05/21 20:25
回复
举报
更多评论
打赏
3 评论
52 收藏
0
分享
返回顶部
顶部