【转载】jvm内存监控与调优
来源:互联网 发布:linux ant打包war教程 编辑:程序博客网 时间:2024/05/29 02:08
该文章写的较为细致和全面,值得在工作中借鉴,以下是文章链接地址:JVM监控与调优
jvm调优常用参数:
java –Xmx3800m –Xms3800m –Xmn2G –Xss128k –XX:+UseParallelGC –XX:ParallelGC-Threads=20 –XX:+UseParallelOldGC;
–Xmx380m –Xms3800m:设置 Java 堆的最大值和初始值。一般情况下,为了避免堆内存的频繁震荡,导致系统性能下降,我们的做法是设置最大堆等于最小堆。假
设这里把最小堆减少为最大堆的一半,即 1900m,那么 JVM 会尽可能在 1900MB 堆空间中运行,如果这样,发生 GC 的可能性就会比较高;
-Xss128k:减少线程栈的大小,这样可以使剩余的系统内存支持更多的线程;
-Xmn2g:设置年轻代区域大小为 2GB;
–XX:+UseParallelGC:年轻代使用并行垃圾回收收集器。这是一个关注吞吐量的收集器,可以尽可能地减少 GC 时间。
–XX:ParallelGC-Threads:设置用于垃圾回收的线程数,通常情况下,可以设置和 CPU 数量相等。但在 CPU 数量比较多的情况下,设置相对较小的数值也是合理的;
–XX:+UseParallelOldGC:设置年老代使用并行回收收集器。
-XX:SurvivorRatio=8:SurvivorRatio的默认值为8,言外之意就是Survivor和Edon的比例是8:1:1,Survivor是有两个的from to(每次gc都会倒换,倒换一定次数之后触发old gc)
-Xmx512m -Xms512m -Xmn300m;
最后再引用一下作者文章的结束语:
- 多数的Java应用不需要在服务器上进行GC优化;
- 多数导致GC问题的Java应用,都不是因为我们参数设置错误,而是代码问题;
- 在应用上线之前,先考虑将机器的JVM参数设置到最优(最适合);
- 减少创建对象的数量;
- 减少使用全局变量和大对象;
- GC优化是到最后不得已才采用的手段;
- 在实际使用中,分析GC情况优化代码比优化GC参数要多得多;
GC优化的目的有两个(http://www.360doc.com/content/13/0305/10/15643_269388816.shtml):
- 将转移到老年代的对象数量降低到最小;
- 减少full GC的执行时间;
为了达到上面的目的,一般地,你需要做的事情有:
- 减少使用全局变量和大对象;
- 调整新生代的大小到最合适;
- 设置老年代的大小为最合适;
- 选择合适的GC收集器;
- 【转载】jvm内存监控与调优
- jvm内存管理与监控
- JVM 内存监控与分析
- 【转载】JVM内存分配与调优参数列表
- JVM监控与调优
- JVM监控与调优
- JVM监控与调优
- JVM监控与调优
- JVM监控与调优
- JVM监控与调优
- JVM监控与调优
- JVM监控与调优
- JVM监控与调优
- JVM监控与调优
- JVM监控与调优
- JVM监控与调优
- JVM监控与调优
- JVM监控与调优
- 数组工具类中静态的使用与文档注释
- 0919Link
- 六代单传的老代码,到底能不能动
- linux下配置启动tomcat报错catalina.sh: line 401: /usr/java/jdk1.7.52/bin/java: No such file or directory
- Redis配置ssm+redisTemplate
- 【转载】jvm内存监控与调优
- selenium2java基本方法二次封装
- final关键字
- 一个斜杠引起的血案
- Geotools中实现NC转等值面
- pkcs1与pkcs8格式RSA私钥互相转换
- php语法基础
- 数据结构:实验一
- Servlet笔记——(2.2.2)继承GenericServlet