问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求教修改JVM内存大小?

发布网友 发布时间:2022-04-19 13:45

我来回答

1个回答

热心网友 时间:2023-12-21 20:11

  最近做毕设时 遇到了一点小问题 在解析dblp xml文件时(该文件很大 最新版本为 MB) 老是报错

  java lang OutOfMemoryError: Java heap space

  最后通过查资料才知道 这是由于JVM堆内存不足造成的 JVM在启动动的时候一般会设置JVM Heap的值

  其初始空间(即 Xms)是物理内存的 / 最大空间( Xmx)不可超过物理内存 在JVM中如果 %的时间是用于GC 且可用的Heap size 不足 %的时候将抛出此异常信息 出现这种问题可以通过修改JVM heap大小解决

  如

  点击(此处)折叠或打开

  java Xms M Xmx M className

  以上设置JVM初始化堆内存为 M 最大可用堆内存为 M

  ( )在命令行中设置的方法就如上面所述

  ( )在Eclipse中可以这样设置

  在eclipse的 Run >Run Configurations >Arguments下的VM Arguments中设置

   Xms M Xmx M

  另外可以使用 java X查看其它JVM参数情况

  点击(此处)折叠或打开

  D:\work>java X

   Xmixed mixed mode execution (default)

   Xint interpreted mode execution only

   Xbootclasspath:<directories and zip/jar files separated by ;>

  set search path for bootstrap classes and resources

   Xbootclasspath/a:<directories and zip/jar files separated by ;>

  append to end of bootstrap class path

   Xbootclasspath/p:<directories and zip/jar files separated by ;>

  prepend in front of bootstrap class path

   Xnoclassgc disable class garbage collection

   Xincgc enable incremental garbage collection

   Xloggc:<file> log GC status to a file with time stamps

   Xbatch disable background pilation

   Xms<size> set initial Java heap size

   Xmx<size> set maximum Java heap size

   Xss<size> set java thread stack size

   Xprof output cpu profiling data

   Xfuture enable strictest checks anticipating future default

   Xrs rece use of OS signals by Java/VM (see documentation)

   Xcheck:jni perform additional checks for JNI functions

   Xshare:off do not attempt to use shared class data

   Xshare:auto use shared class data if possible (default)

   Xshare:on require using shared class data otherwise fail

  The X options are non standard and subject to change without notice

  可以通过java lang Runtime的一些方法查看jvm的内存使用情况

  点击(此处)折叠或打开

  System out println( Total Memory: + Runtime getRuntime() totalMemory() / ( * + MB )

  System out println( Free Memory: + Runtime getRuntime() freeMemory() / ( * ) + MB )

  System out println( Max Memory: + Runtime getRuntime() maxMemory() / ( * ) + MB )

  maxMemory()这个方法返回的是java虚拟机(这个进程)能构从操作系统那里挖到的最大的内存 以字节为单位

  totalMemory()这个方法返回的是java虚拟机现在已经从操作系统那里挖过来的内存大小 也就是java虚拟机这个进程当时所占用的所有内存

  freeMemory为当前jvm中没有使用的内存

  附 jvm参数说明 (转自)

   server:一定要作为第一个参数 在多个CPU时性能佳

   Xms java Heap初始大小 默认是物理内存的 /

   Xmx java heap最大值 建议均设为物理内存的一半 不可超过物理内存

   XX:PermSize:设定内存的永久保存区初始大小 缺省值为 M (我用visualvm exe查看的)

   XX:MaxPermSize:设定内存的永久保存区最大 大小 缺省值为 M (我用visualvm exe查看的)

   XX:SurvivorRatio=   :生还者池的大小 默认是 如果垃圾回收变成了瓶颈 您可以尝试定制生成池设置

   XX:NewSize: 新生成的池的初始大小 缺省值为 M

   XX:MaxNewSize: 新生成的池的最大大小    缺省值为 M

  如果 JVM 的堆大小大于 GB 则应该使用值 XX:newSize= m XX:MaxNewSize= m XX:SurvivorRatio= 或者将堆的总大小的 % 到 % 分配给新生成的池 调大新对象区 减少Full GC次数

  +XX:AggressiveHeap 会使得 Xms没有意义 这个参数让jvm忽略Xmx参数 疯狂地吃完一个G物理内存 再吃尽一个G的swap

   Xss 每个线程的Stack大小 Xss 这使得JBoss每增加一个线程(thread)就会立即消耗 M内存 而最佳值应该是 K 默认值好像是 k

   verbose:gc 现实垃圾收集信息

   Xloggc:gc log 指定垃圾收集日志文件

   Xmn young generation的heap大小 一般设置为Xmx的 分之一

   XX:+UseParNewGC 缩短minor收集的时间

   XX:+UseConcMarkSweepGC 缩短major收集的时间 此选项在Heap Size 比较大而且Major收集时间较长的情况下使用更合适

   XX:userParNewGC 可用来设置并行收集【多CPU】

   XX:ParallelGCThreads 可用来增加并行度【多CPU】

lishixin/Article/program/Java/hx/201311/26103
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? JVM内存最大能调多大分析 请教JVM内存堆大小的问题 JVM内存最大能调多大 如何修改jvm内存 内存设置过大 JVM内存一般设成多大的 jvm默认多大的对象是大对象 hadoop中个角色JVM的默认内存大小是? 怎样修改JVM的默认内存大小值 jvm 默认栈内存大小 电脑酷狗直播怎么打字聊天 酷狗繁星主播不开播手机用户可以进入直播室吗? 在酷狗里进入别人的直播间,如何把自己的名字改掉 为什么我的手机酷狗音乐没有直播 酷狗繁星怎样可以进入直播间 怎样上酷狗音乐上的直播,当主播?? 电脑如何进酷狗直播间听歌 酷狗直播怎么看明星线上演唱会 酷狗怎么进直播间 酷狗怎么开直播哪 酷狗直播进入直播间刷礼物怎么样别的主播查不了 在一台服务器上面,JVM可以分配到的最大内存是多少 怎么设置eclipse 的jvm大小 如何设定tomcat启动时jvm内存大小 配置jvm运行时正常占用内存有多大 JAVA虚拟机的最大堆大小如何设置? jvm 线程 占用多少堆内存 如何调整java虚拟机内存大小 如何查看GC 及jvm配置 jvm的内存如何管理 有哪些可以录制视频的软件? 有什么录制视频软件比较好用的 电脑录制视频软件哪个好? 用什么软件录制视频画质比较清晰 求问,手机录制视频应该用哪个软件好啊? 用什么软件录视频最高清? 视频录制软件有哪些 免费的高清录屏软件 高清免费的屏幕录制软件 有什么软件可以录制超清视频, 求推荐一款免费的高清录屏软件