java内存配置
2023-09-27 14:25:18 时间
使用Java程序从数据库中查询大量的数据时出现异常:
java.lang.OutOfMemoryError: Java heap space
在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置
Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn
-Xms -Xmx等选项可进行设置。
例如:java -jar -Xmn16m -Xms64m -Xmx128m MyApp.jar
如果Heap Size设置偏小,除了这些异常信息外,还会发现程序的响应速度变慢了。GC占用了更多的时间,而应用分配到的执行时间较少。
Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
Heap
size的 -Xms -Xmn 设置不要超出物理内存的大小。否则会提示“Error occurred during
initialization of VM Could not reserve enough space for object heap”。
相关文章
- java内存模型(JMM)和happens-before
- java内存模型及内存与cpu之间的关系
- Java内存溢出(OOM)异常完全指南
- Java 中的内存映射Mmap
- Java之JMX获取应用进程CPU/内存使用率,监控GC回收
- 改写java TreeMap制造方便查询的ip内存库
- JAVA单元测试框架-13-TestNG中的Listener监听
- 【Java】【JFree】【性能测试报告】自动生成服务器CPU、内存数据变化的折线图
- IntelliJ IDEA中如何优雅的调试Java Stream操作
- Java 17 新特性:switch的模式匹配(Preview)
- 《21天学通Java(第7版)》—— 2.8 问与答
- [学习笔记]Java代码中各种类型变量的内存分配机制
- 远程监视jboss应用java内存的配置(实测) .
- 【华为OD机试真题 python、java】端口合并、关联端口组合并(100%通过+复盘思路)
- 深入理解Java虚拟机02--Java内存区域与内存溢出异常
- java中方法调用在内存中的体现
- k8s 的java程序内存设置多大合适 怎么设置
- Java内存区域与内存溢出
- 为纪念参加第八届 蓝桥杯java 软件开发
- JAVA经常使用数据结构及原理分析
- 全面理解Java内存模型(JMM)及volatile关键字
- Java内存模型深度解析:基础部分--转
- Java 实现 SSH 协议的客户端登录认证方式--转载
- Java内存模型JMM--高并发编程
- 源码阅读(3):Java中主要的List结构——ArrayList集合(上)