linux增量安装tomcat_linux与windows下tomcat的java内存设置
Linux下修改JVM内存大小:
要添加在tomcat 的bin 下catalina.sh文件中,找到cygwin=false,在这一行的前面加入参数,具体如下# vi TOMCAT_HOME/bin/catalina.sh(默认文件内容)export JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m"export JAVA_OPTS="-server -Xms512m -Xmx1024m -Xss256k -XX:PermSize=128m -XX:MaxNewSize=256m -XX:MaxPermSize=256m"
以下是自己设置的另外增加一个setenv.sh文件来设置tomcat内存,给文件加上执行权限#vi /opt/app/tomcat6/bin/setenv.sh
export JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:SurvivorRatio=14 -XX:+UseParallelOldGC"
或直接修改tomcat的配置文件
#vi TOMCAT_HOME/bin/catalina.sh
JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:SurvivorRatio=14 -XX:+UseParallelOldGC"
或
JAVA_OPTS="-Xms512m -Xmx2048m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=512m"
在linux下tomcat出现验证码不显示,加-Djava.awt.headless=true参数:#vi /tomcat6/bin/catalina.sh
JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:PermSize=512M -XX:MaxPermSize=1024m -Djava.awt.headless=true"
jvm参数说明:
-server 一定要作为第一个参数,启用JDK的server版本,在多个CPU时性能佳
-Xms 启动应用时,JVM 堆空间的初始大小值(java Heap初始大小), 默认是物理内存的1/64。
-Xmx 应用运行中,JVM 堆空间的极限值( java heap最大值)。为了不消耗扩大JVM 堆控件分配的开销,将此参数和-Xms 这个两个值设为相等,考虑到需要开线程,建议将此值设置为物理内存的80%,不可超过物理内存。
-Xmn 此参数硬性规定堆空间的新生代空间大小,推荐设为堆空间大小的1/4(java heap最小值,一般设置为Xmx的3、4分之一)。
-XX:PermSize 应用服务器启动时,永久存储区的初始内存大(设定内存的永久保存区初始大小,缺省值为64M)。
-XX:MaxPermSize 应用运行中,永久存储区的极限值。为了不消耗扩大JVM 永久存储区分配的开销,将此参数和-XX:PermSize这个两个值设为相等。堆空间相关参数参数名参数说明(设定内存的永久保存区最大大小,缺省值为64M)。
-XX:SurvivorRatio=2 生还者池的大小,默认是2。如果垃圾回收变成了瓶颈,您可以尝试定制生成池设置
-XX:NewSize 新生成的池的初始大小。 缺省值为2M。
-XX:MaxNewSize 新生成的池的最大大小。 缺省值为32M。
+XX:AggressiveHeap 让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
-Xss 每个线程的Stack大小
-verbose:gc 现实垃圾收集信息
-Xloggc:gc.log 指定垃圾收集日志文件
-XX:+UseParNewGC 缩短minor收集的时间
-XX:+UseConcMarkSweepGC 缩短major收集的时间
-XX:userParNewGC 可用来设置并行收集(多CPU)
-XX:ParallelGCThreads 可用来增加并行度(多CPU)
-XX:UseParallelGC 设置后可以使用并行清除收集器(多CPU)
-XX:+UseParallelOldGC:配置年老代垃圾收集方式为并行收集。JDK6.0支持对年老代并行收集。
上面所列的JVM 参数关系到系统的性能,而其中-XX:PermSize,-XX:MaxPermSize,-Xms,-Xmx 和-Xmn 这5 个参数更是直接关系到系统的性能,系统是否会出现内存溢出。
-XX:PermSize 和-XX:MaxPermSize 分别设置应用服务器启动时,永久存储区的初始大小和极限大小;在生成环境中强烈推荐将这个两个值设置为相同的值,以避免分配永久存储区的开销,具体的值可取系统“疲劳测试”获取到的永久存储区的极限值;如果不进行设置-XX:MaxPermSize 默认值为64M,一般来说系统的类定义文件大小都会超过这个默认值。
-Xms 和-Xmx 分别是服务器启动时,堆空间的初始大小和极限值。-Xms的默认值是物理内存的1/64 但小于1G,-Xmx 的默认值是物理内存的1/4 但小于1G.在生产环境中这些默认值是肯定不能满足我们的需要的。也就是你的服务器有8g 的内存,不对JVM 参数进行设置优化,应用服务器启动时还是按默认值来分配和约束JVM 对内存资源的使用,不会充分的利用所有的内存资源。
tomcat中java.lang.OutOfMemoryError: PermGen space异常处理
解决方法:
”永久存储区溢出PermGen space的全称是Permanent Generation space“ 或“(java.lang.OutOfMemoryError:Java Permanent Space)”,都是指内存的永久保存区域,乃是永久存储区设置太小,不能满足系统需要的大小,此时只需要调整-XX:PermSize 和-XX:MaxPermSize 这两个参数即可。
“PermGen space”这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中, 它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误, 这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。
“JVM 堆空间溢出(java.lang.OutOfMemoryError: Java heap space)”错误是JVM 堆空间不足,此时只需要调整-Xms 和-Xmx 这两个参数即可。
windows下修改JVM内存大小:
情况一:解压版本的Tomcat, 要通过startup.bat启动tomcat才能加载配置
要添加在tomcat 的bin 下catalina.bat来添加内存在
rem ----- Execute The Requested Command ---------------------------------------下
增加下面命令:set JAVA_OPTS=-server -Xms512m -Xmx600m -XX:PermSize=128m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -XX:SurvivorRatio=14 -XX:+UseParalledlOldGC
或
set JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
或
set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=1024M -XX:MaxNewSize=1024m -XX:MaxPermSize=1024m
或
set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m
或
set JAVA_OPTS="%JAVA_OPTS% -server -Xms800m -Xmx3072m -XX:PermSize=512m -XX:MaxNewSize=256m -XX:MaxPermSize=1024m"
另翻注(详细解释):
常见JVM参数配置汇总
堆设置
-Xms:初始堆大小
-Xmx:最大堆大小
-XX:NewSize=n:设置年轻代大小
-XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4
-XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:
Survivor=3:2,一个Survivor区占整个年轻代的1/5
-XX:MaxPermSize=n:设置持久代大小
收集器设置
-XX:+UseSerialGC:设置串行收集器
-XX:+UseParallelGC:设置并行收集器
-XX:+UseParalledlOldGC:设置并行年老代收集器
-XX:+UseConcMarkSweepGC:设置并发收集器
垃圾回收统计信息
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Xloggc:filename
并行收集器设置
-XX:ParallelGCThreads=n:设置并行收集器收集时使用的CPU数。并行收集线程数。
-XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间
-XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)
并发收集器设置
-XX:+CMSIncrementalMode:设置为增量模式。适用于单CPU情况。
-XX:ParallelGCThreads=n:设置并发收集器年轻代收集方式为并行收集时,使用的CPU数。并行收集线程数。
linux增量安装tomcat_linux与windows下tomcat的java内存设置相关推荐
- linux与windows下tomcat的java内存设置
Linux下修改JVM内存大小: 要添加在tomcat 的bin 下catalina.sh文件中,找到cygwin=false,在这一行的前面加入参数,具体如下# vi TOMCAT_HOME/bin ...
- linux增量安装tomcat_Linux服务器上的tomcat中部署web项目
首先了解一下下面几个概念,讲得不太准确: 1.JVM JVM是class以及jar(实际上就是很多个class压缩在一起)的运行环境,特征就是java和javaw命令,通过这两个命令,你可以执行cla ...
- wsl2设置挂载_Windows下的Linux子系统安装,WSL 2下配置docker
Windows下的Linux子系统安装,WSL 2下配置docker 前提条件: 安装WSL 2需要Windows 10版本是Build 18917或更高,首先先确认系统版本已升级. 在"启 ...
- Windows下tomcat进程监控批处理程序
在Windows下tomcat进程监控批处理程序脚本如下: @echo off ::tomcat安装目录 set _tomcatDir=E:\myFiles\apache-tomcat-8.5.31 ...
- linux配置tomcat内存配置文件,Linux与Windows下tomcat内存设置
Linux下修改JVM内存大小: 要添加在tomcat 的bin 下catalina.sh文件中,找到cygwin=false,在这一行的前面加入参数,具体如下# vi TOMCAT_HOME/bin ...
- windows下Tomcat安装配置
目录 安装tomcat 配置windows服务 目录结构组成 修改默认端口 新增用户 部署Web应用 配置数据源 tomcat抛java.lang.OutOfMemoryError解决 本篇以Tomc ...
- linux怎么在win上安装mysql_CentOS下安装MySQL及Windows下使用Navicat for MySQL连接
安装 查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 查看有没有安装包: yum list mysql* 安装mysql客户端: y ...
- 手把手教学,带你在Linux、OS X、Windows下Docker的安装
一.前言 目前,Docker已经支持非常多的Linux平台,包括Ubuntu和RHEL(Red Hat Enterprise Linux,Red Hat企业版Linux).除此之外,Docker还支持 ...
- 30天精通Python(数据分析篇)——第1天:环境搭建之 Linux/Windows 下安装 Anaconda 和 Windows 下安装 DataSpell
目录 一.Linux 下安装 Anaconda 二.Jupyter Notebook 配置 三.Windows 下安装 DataSpell 3.1 DataSpell 介绍 3.2 DataSpell ...
最新文章
- 运用RUP 4+1视图方法进行软件架构设计
- FoodMart数据仓库mysql表及数据初始化
- bootstrap学习(二)页面
- html5基础知识点字体属性
- 中兴通讯 基于定位的技术和市场分析
- LeetCode 1979. 找出数组的最大公约数
- 信息学奥赛一本通 2063:【例1.4】牛吃牧草
- python3语法糖_python的语法糖
- jsp中jstl标签的类似 if - else 语句 的语法
- 求解两条空间直线的交点(解析解+数值解)
- 小白都能看懂的java虚拟机内存区域划分
- 【微信小程序】设置页面背景色的方式
- Hdu 4503 湫湫系列故事——植树节
- typora 公式对齐_Typora极简教程
- 震惊,用过微粒贷的人没资格贷款买房!
- Java基础:IO 流中的 flush
- linux 驱动 device,driver ,bus 关系
- 火车头采集翻页内容_火车头采集:内容替换支持[参数],标签
- 阿里云服务器与腾讯云服务器优势比较哪个好?
- Residual Reinforcement Learning for Robot Control
热门文章
- 统一建模语言UML轻松入门(3)――静态建模:类和对象
- python输入input数组_Python学习——实现简单的交互raw_input的使用
- java web课程题目_JavaWeb开发技术试题题目及答案,课程2020最新期末考试题库,章节测验答案...
- python 抓包 上传 文件_Python接口测试文件上传实例解析
- mysql存储过程报错_MySQL存储过程错误No data - zero rows fetched, selected, or processed
- mysql中的运算符的执行顺序_【MySQL】执行顺序
- mysql中的编码问题_mysql存储乱码之编码问题
- Kettle安装好MYSQL驱动后报用户名密码错误
- Arrays.sort()方法
- 【计算机组成原理】乘法阵列器