最近这段时间一直在看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、XX:+PrintHeapAtGC、-XX:+PrintTenuringDistribution,尽可能多的记录一些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
- 浏览: 2639341 次
- 来自: 杭州
文章分类
- 全部博客 (1188)
- webwork (4)
- 网摘 (18)
- java (103)
- hibernate (1)
- Linux (85)
- 职业发展 (1)
- activeMQ (2)
- netty (14)
- svn (1)
- webx3 (12)
- mysql (81)
- css (1)
- HTML (6)
- apache (3)
- 测试 (2)
- javascript (1)
- 储存 (1)
- jvm (5)
- code (13)
- 多线程 (12)
- Spring (18)
- webxs (2)
- python (119)
- duitang (0)
- mongo (3)
- nosql (4)
- tomcat (4)
- memcached (20)
- 算法 (28)
- django (28)
- shell (1)
- 工作总结 (5)
- solr (42)
- beansdb (6)
- nginx (3)
- 性能 (30)
- 数据推荐 (1)
- maven (8)
- tonado (1)
- uwsgi (5)
- hessian (4)
- ibatis (3)
- Security (2)
- HTPP (1)
- gevent (6)
- 读书笔记 (1)
- Maxent (2)
- mogo (0)
- thread (3)
- 架构 (5)
- NIO (5)
- 正则 (1)
- lucene (5)
- feed (4)
- redis (17)
- TCP (6)
- test (0)
- python,code (1)
- PIL (3)
- guava (2)
- jython (4)
- httpclient (2)
- cache (3)
- signal (1)
- dubbo (7)
- HTTP (4)
- json (3)
- java socket (1)
- io (2)
- socket (22)
- hash (2)
- Cassandra (1)
- 分布式文件系统 (5)
- Dynamo (2)
- gc (8)
- scp (1)
- rsync (1)
- mecached (0)
- mongoDB (29)
- Thrift (1)
- scribe (2)
- 服务化 (3)
- 问题 (83)
- mat (1)
- classloader (2)
- javaBean (1)
- 文档集合 (27)
- 消息队列 (3)
- nginx,文档集合 (1)
- dboss (12)
- libevent (1)
- 读书 (0)
- 数学 (3)
- 流程 (0)
- HBase (34)
- 自动化测试 (1)
- ubuntu (2)
- 并发 (1)
- sping (1)
- 图形 (1)
- freemarker (1)
- jdbc (3)
- dbcp (0)
- sharding (1)
- 性能测试 (1)
- 设计模式 (2)
- unicode (1)
- OceanBase (3)
- jmagick (1)
- gunicorn (1)
- url (1)
- form (1)
- 安全 (2)
- nlp (8)
- libmemcached (1)
- 规则引擎 (1)
- awk (2)
- 服务器 (1)
- snmpd (1)
- btrace (1)
- 代码 (1)
- cygwin (1)
- mahout (3)
- 电子书 (1)
- 机器学习 (5)
- 数据挖掘 (1)
- nltk (6)
- pool (1)
- log4j (2)
- 总结 (11)
- c++ (1)
- java源代码 (1)
- ocr (1)
- 基础算法 (3)
- SA (1)
- 笔记 (1)
- ml (4)
- zokeeper (0)
- jms (1)
- zookeeper (5)
- zkclient (1)
- hadoop (13)
- mq (2)
- git (9)
- 问题,io (1)
- storm (11)
- zk (1)
- 性能优化 (2)
- example (1)
- tmux (1)
- 环境 (2)
- kyro (1)
- 日志系统 (3)
- hdfs (2)
- python_socket (2)
- date (2)
- elasticsearch (1)
- jetty (1)
- 树 (1)
- 汽车 (1)
- mdrill (1)
- 车 (1)
- 日志 (1)
- web (1)
- 编译原理 (1)
- 信息检索 (1)
- 性能,linux (1)
- spam (1)
- 序列化 (1)
- fabric (2)
- guice (1)
- disruptor (1)
- executor (1)
- logback (2)
- 开源 (1)
- 设计 (1)
- 监控 (3)
- english (1)
- 问题记录 (1)
- Bitmap (1)
- 云计算 (1)
- 问题排查 (1)
- highchat (1)
- mac (3)
- docker (1)
- jdk (1)
- 表达式 (1)
- 网络 (1)
- 时间管理 (1)
- 时间序列 (1)
- OLAP (1)
- Big Table (0)
- sql (1)
- kafka (1)
- md5 (1)
- springboot (1)
- spring security (1)
- Spring Boot (3)
- mybatis (1)
- java8 (1)
- 分布式事务 (1)
- 限流 (1)
- Shadowsocks (0)
- 2018 (1)
- 服务治理 (1)
- 设计原则 (1)
- log (0)
- perftools (1)
最新评论
-
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介 -
107x:
不错,谢谢!
Python机器学习库
发表评论
-
Java GC 调试手记
2015-12-17 10:45 1187摘要 本文记录GC调试的一次实验过程和结果。 GC知识 ... -
编写内存效率的java代码-面向GC
2014-07-20 12:38 2186参考两个PPT http://www.sl ... -
GC 问题排查
2014-03-30 13:18 730最近遇到一次GC问题,gc log如下 2014-03-3 ... -
快速验证jvm gc的测试脚本
2013-07-20 16:20 1584有时候需要快速验证不同GC配置的效果,下面是dboss的一 ... -
垃圾收集器介绍
2013-06-09 17:36 0垃圾收集器 Serial收集器 ParNew收集器 ... -
GC文档集合
2013-06-09 17:24 737成为Java GC专家系列(1) ——Java垃圾回收机制 ... -
聊聊JVM的年轻代
2013-06-09 17:18 6791.为什么会有年轻代 ... -
FULL GC耗时问题
2012-12-19 15:03 1406记录一次full gc 耗时很长的情况: ... -
JVM gc 日志记录
2012-10-18 21:59 0solr: [admin@server6 ~]$ jstat ...
相关推荐
JVM调优总结 -Xms -Xmx -Xmn -Xss JVM 调优是 Java virtual machine 的性能优化,通过调整 JVM 的参数来提高 Java 应用程序的性能。其中,-Xms、-Xmx、-Xmn、-Xss 是四个重要的参数,分别控制 JVM 的初始堆大小、...
### JVM调优总结 #### 一、概述 Java虚拟机(JVM)是Java程序的核心运行环境,对于提高Java应用程序性能至关重要。JVM调优是指通过调整JVM的配置参数来优化程序性能的过程。本文将围绕JVM调优展开讨论,重点分析数据...
### JVM调优总结:Xms、Xmx、Xmn、Xss 在Java虚拟机(JVM)的运行过程中,合理的参数配置对于提高程序性能至关重要。本文将对JVM调优中的几个关键参数进行深入解析,包括-Xms、-Xmx、-Xmn和-Xss等,帮助开发者更好...
### JVM调优与垃圾回收机制详解 #### 一、引言 随着软件系统的复杂度不断提高,性能优化成为了软件开发中的一个重要环节。对于Java应用程序来说,Java虚拟机(JVM)的性能直接影响着应用的整体表现。垃圾回收(GC)...
JVM调优总结 JVM(Java Virtual Machine)是 Java 语言的运行环境,负责将 Java 字节码转换为机器码并执行。然而,随着 Java 应用程序的复杂度和规模的增加,JVM 的性能变得越来越重要。因此,JVM 调优是非常必要的...