HelloCoder HelloCoder
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
随笔
关于作者
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
随笔
关于作者
  • 《LearnJavaToFindAJob》

    • 导读

    • 【初级】6~12k档

    • 【中级】12k-26k档

      • JVM进阶

        • JVM三色标记算法思想
        • JVM有哪些东西组成?
        • 类加载过程和双亲委派模型
        • 谈谈你熟悉的垃圾回收器
        • 项目的JVM堆内存大小如何设置
      • Java进阶

      • MySQL

      • 中间件

      • 算法

      • 高阶

    • 【高级】26k+档

    • 大厂面试题

    • 求职建议

    • 面经

  • LearnJavaToFindAJob
  • 【中级】12k-26k档
  • JVM进阶
#JVM #项目的
码农阿雨
2022-06-02
目录

项目的JVM堆内存大小如何设置

堆的最大值和最小值分别是Xmx和Xms指定的。一般在生产环境中,把这两个值设为同样大。使JVM进程在一启动的时候,就获得足够大小的存储空间。

需要根据你的业务量设置,并不是越大越好,设置大了会增加GC时间,因为堆内存越大,垃圾回收频率就低,但是一旦垃圾回收,需要的时间就越多。

# 1、Tomcat的参数

tomcat的/bin/catalina.sh 是启动的文件,可以看到这个默认的配置文件,是没有设置堆大小的。

如果要设置,可以在这个文件修改 JAVA_OPTS 参数即可。

  • 堆内存初始值分配: -Xms,默认是物理内存的1/64;
  • 堆内存最大值分配: -Xmx,默认是物理内存的1/4。

默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、-Xmx 相等,以避免在每次GC 后调整堆的大小。

一般项目中,都不需要调整很多参数进行调优,现在的JVM在GC这方面还是做的很好的。

如何监测业务的GC情况,可以使用JProfiler 这个软件。

所以总结就是,堆内存大小的设定需要根据不同的业务而定。

阅读全文
×

(为防止恶意爬虫)
扫码或搜索:HelloCoder
发送:290992
即可永久解锁本站全部文章

解锁
#JVM#项目的
上次更新: 2025-02-21 06:04:57
最近更新
01
《LeetCode 101》
02-21
02
IDEA、Golang、Pycharm破解安装
02-21
03
《LeetCode CookBook》
02-21
更多文章>
Theme by Vdoing | Copyright © 2020-2025 码农阿雨
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式