Java Jar包项目内存设置方法举例
一、默认占用内存
64位操作系统,默认最小堆内存大小256M,最大内存为1/4可用系统内存。
二、设置指定内存大小
2.1 Java8之前
-Xms512M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
-Xms128m JVM初始分配的堆内存
-Xmx512m JVM最大允许分配的堆内存,按需分配
-XX:PermSize=64M JVM初始分配的永久代内存大小
-XX:MaxPermSize=128M JVM最大允许分配的永久代内存,按需分配
java -jar -Xms512M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M xxx-0.0.1-SNAPSHOT.jar
2.2 Java8之后
-Xms512M -Xmx512M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=128M
-XX:MetaspaceSize=128M (元空间默认大小)
-XX:MaxMetaspaceSize=128M (元空间最大大小)
元空间(Metaspace)在Java8之后取代了永久代(Permanent Generation (PermGen))
Metaspace 的大小是动态变化的,并且默认情况下没有明确的上限(取决于系统内存大小)。
java -jar -Xms512M -Xmx512M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=128M xxx-0.0.1-SNAPSHOT.jar
三、-Xms = -Xmx的好处
优点:避免由于heap内存扩大或缩小导致应用停顿。
避免垃圾回收完成后JVM重新分配内存。
不足:减少垃圾回收的频率,增加垃圾回收时的暂停时间。
附:后台运行Jar包并设置内存参数
nohup java -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m -jar 你的jar包 >>/dev/null &
总结
到此这篇关于Java Jar包项目内存设置方法的文章就介绍到这了,更多相关Java Jar包内存设置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java中的CopyOnWriteArrayList容器解析
这篇文章主要介绍了Java中的CopyOnWriteArrayList容器解析,CopyOnWriteArrayList容器允许并发读,读操作是无锁的,性能较高。至于写操作,比如向容器中添加一个元素,则首先将当前容器复制一份,然后在新副本上执行写操作,需要的朋友可以参考下2023-12-12Alibaba SpringCloud集成Nacos、openFeign实现负载均衡的解决方案
Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案,此项目包含开发分布式应用微服务的必需组件,这篇文章主要介绍了Alibaba SpringCloud集成Nacos、openFeign实现负载均衡,需要的朋友可以参考下2024-05-05Java Timezone类常见问题_动力节点Java学院整理
这篇文章主要介绍了Java Timezone类常见问题的相关资料,需要的朋友可以参考下2017-05-05
最新评论