tomcat的内存配置,关于-Xms -Xmx -XX:PermSize -XX:MaxPermSize的理解和区别
JVM按照其存储数据的内容将所需内存分配为堆区与非堆区两个部分:所谓堆区即为通过new的方式创建的对象(类实例)所占用的内存空间;非堆区即为代码、常量、外部访问(如文件访问流所占资源)等。然而虽然java的垃圾回收机制虽然能够很好的解决内存浪费的问题,但是这种机制也仅仅的是回收堆区的资源,而对于非堆区的资源就束手无策了,针对这样的资源回收只能凭借开发人员自身的约束来解决(堆区有java回收机制、非堆区需要开发人员能够很好的解决)。
-Xms256m -Xmx256m -XX:PermSize=64M -XX:MaxNewSize=64m -XX:MaxPermSize=256m
首先对着几个字段值作出解释:
1、-Xms:是初始化堆内存值;
2、-Xmx:是堆内存最大值。
这两个值是tomcat服务器内存分配是动态的最好体现,刚启动时系统给tomcat分配的内存为-Xms值,当项目占用的内存达到初始化内存的一定比例后(百度上说是80%,这点未验证)才会将给tomcat分配-Xmx大小的内存,反之亦然当项目占用的内存降至-Xmx的40%时,系统会释放部分内存,又将-Xms大小的内存划分给tomcat服务器。
-XX:PermSize和-XX:MaxPermSize是初始化永久保存区,原理同内存是一样的。至于-XX:MAxNewSize是什么意思,暂时还不清楚,但看到有要求这个值的大小应该设置为-Xmx的1/4。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2016-07-26 mac os 安装PIP 及异常“”Can't install python module: PyCharm Error: “byte-compiling is disabled, skipping”“”的解决方案
2016-07-26 mac os 安装 python 环境
2016-07-26 mac os 安装 wget