JAVA--JVM配置及JAVA_OPTS参数简述

一、配置JVM

//Windows下 Tomcat/bin/catalina.bat 新增
set JAVA_OPTS="-server -Xms1024M -Xmx1024M -XX:PermSize=128M -XX:MaxPermSize=512M -Xss512KB"
//Linux下 Tomcat/bin/catalina.sh 新增
JAVA_OPTS="-server -Xms1024M -Xmx1024M -XX:PermSize=128M -XX:MaxPermSize=512M -Xss512KB"
数值后面的单位"M"代表MB,"K"则标识KB

二、JAVA_OPTS参数简述

JVM分堆内存和非堆内存

1、堆内存分配

堆内存分配不足,Tomcat启动时或运行中会报内存泄露(不足),java.lang.OutOfMemoryError :Java heap space
-server:一定要作为第一个参数,在多个CPU时性能佳
-Xms:Heap初始值,使用的最小内存,cpu性能高时此值应设的大一些
-Xmx:java heap最大值,使用的最大内存
JVM最大分配的堆内存由-Xmx指定,默认是物理内存的1/4,一般设置-Xms、-Xmx 相等以避免在每次垃圾回收(GC)后调整堆的大小。
-Xss:设置每个线程的堆栈(Stack)大小
-Xss 1024 这使得每增加一个线程(thread)就会立即消耗1M(1024kb)内存,最佳值是128K,默认值是512k。

2、非堆内存分配

-XX:PermSize: JVM初始分配的非堆内存
-XX:MaxPermSize:设定最大内存的永久保存区域

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容