首页 > 其他分享 >JVM 启动参数

JVM 启动参数

时间:2023-05-08 15:25:17浏览次数:58  
标签:tmp JVM 启动 256M XX 参数 内存 jvm GC

JVM 启动参数

通过 jmap 查看 JVM 内存分配

jmap -heap [pid]

一个Java进程最大占用的物理内存为:

Max Memory = eden + survivor + old + String Constant Pool + Code cache + compressed class space + Metaspace + Thread stack(*thread num) + Direct + Mapped + JVM + Native Memory

参考:https://developer.aliyun.com/article/1053272

参考配置

8G物理内存

-Xms4096m
-Xmx4096m
-Xss256k
-XX:MetaspaceSize=256M
-XX:MaxMetaspaceSize=256M
-XX:MaxDirectMemorySize=1024M
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/tmp/jvm/heapdump.hprof
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-Xloggc:/tmp/jvm/gc-%t.log
-Duser.timezone=Asia/Shanghai
-Dfile.encoding=UTF-8

4G物理内存

-Xms2048m
-Xmx2048m
-Xss256k
-XX:MetaspaceSize=256M
-XX:MaxMetaspaceSize=256M
-XX:MaxDirectMemorySize=1024M
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/tmp/jvm/heapdump.hprof
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-Xloggc:/tmp/jvm/gc-%t.log
-Duser.timezone=Asia/Shanghai
-Dfile.encoding=UTF-8

参数释义

-Xms4096m #初始堆大小,建议和最大堆大小相同
-Xmx4096m #最大堆大小
-Xss256k #每个线程栈大小
-XX:MetaspaceSize=256M #元空间Full GC的阈值,并不是元空间初始值!默认值20.8M,建议和元空间最大值相同
-XX:MaxMetaspaceSize=256M #元空间最大值,避免元空间的内存溢出
-XX:MaxDirectMemorySize=1024M #最大堆外内存大小,默认和最大堆大小相同。可适量增大,例如nio使用较多时
-XX:+UseG1GC #使用G1垃圾回收器,6~8G堆内存以上推荐使用
-XX:MaxGCPauseMillis=200 #G1 GC最大停顿时间(毫秒)
-XX:+HeapDumpOnOutOfMemoryError #内存溢出时dump堆
-XX:HeapDumpPath=/tmp/jvm/heapdump.hprof #dump堆文件的路径
-XX:+PrintGCDetails #打印GC详细信息
-XX:+PrintGCDateStamps #打印执行GC的日期时间戳
-Xloggc:/tmp/jvm/gc-%t.log #GC日志文件的地址,%t:GC日志文件添加日期后缀
-Duser.timezone=Asia/Shanghai #时区
-Dfile.encoding=UTF-8 #文件编码

参考:https://blog.csdn.net/yzh_1346983557/article/details/123004111

查询

查询内存消耗最多的前10个进程:

ps auxw|head -1;ps auxw|sort -rn -k4|head -10

参考:https://blog.csdn.net/yzh_1346983557/article/details/123004111

标签:tmp,JVM,启动,256M,XX,参数,内存,jvm,GC
From: https://www.cnblogs.com/duolaa/p/17381840.html

相关文章

  • HSSFClientAnchor 参数说明
    pachePOI 是用Java编写的免费开源的跨平台的JavaAPI,ApachePOI提供API给Java程式对MicrosoftOffice格式档案读和写的功能。HSSFClientAnchor用于创建一个新的端锚,并设置锚的左下和右下坐标,用于图片插入,画线等操作。publicHSSFClientAnchor(intdx1,intdy1,intdx2,......
  • Java - JVM
    JVM的位置JVM的体系结构      JVM的位置 JVM的体系结构 ......
  • Tomcat总体架构,启动流程与处理请求流程
    系列文章目录和关于我参考书籍《Tomcat架构解析》一丶Tomcat总体架构本文沿袭《Tomcat架构解析》中启发式的方式来总结Tomcat总体架构1Server假设当前我们要编写一个web应用服务器,web应用服务器最基本的功能是接受客户端发送的请求数据并进行解析,完成相关的业务处理,然后将......
  • WPF注入service,将service作为viewModel参数时,无法进入Model的问题。
    WPF注入service,将service作为viewModel参数时,无法进入Model的问题。一开始以为是注入失败,或者注入的service不对。经过排查,发现是viewModel中的参数service,不是当前包的service,是api通用包中的。....更改之后就可以进入Model了。......
  • 【JVM】10道不得不会的JVM面试题
    我是JavaPub,专注于面试、副业,技术人的成长记录。以下是JVM面试题,相信大家都会有种及眼熟又陌生的感觉、看过可能在短暂的面试后又马上忘记了。JavaPub在这里整理这些容易忘记的重点知识及解答,建议收藏,经常温习查阅。评论区见@[toc]JVM基于JDK81.说一说JVM的主要组成部分点击放大......
  • springboot项目启动后卡死 pom 依赖问题
    最近接手一个新项目springcolud的子系统 pom里面有个parent标签因为没有父项目的pom文件就把pom自己改了改 编译不报错就行 神奇的事情发生了  项目跑起来卡死了     就是启动后tomcat是启动的 但是具体的代码没有跑起来看了下jvm后台 eden区不断g......
  • SpringBoot参数校验
    SpringBoot参数校验为什么需要参数校验在日常的接口开发中,为了防止非法参数对业务造成影响,经常需要对接口的参数进行校验,例如登录的时候需要校验用户名和密码是否为空,添加用户的时候校验用户邮箱地址、手机号码格式是否正确。靠代码对接口参数一个个校验的话就太繁琐了,代码可读......
  • TPT19新特性之参数集的混合执行
     通常,重复测试用例只是为了用不同的参数设置测试相同软件的相同特性和方面。 这使得测试项目更加巨大和复杂——随着时间的推移和重复,也明显地降低了可维护性。 在我们的最新版本TPT19中,您现在可以采用一种新的、更精简的方法:定义一次性的参数集,这些参数集包含在您的最......
  • R语言学习 - 非参数法生存分析
    生存分析指根据试验或调查得到的数据对生物或人的生存时间进行分析和推断,研究生存时间和结局与众多影响因素间关系及其程度大小的方法,也称生存率分析或存活率分析。常用于肿瘤等疾病的标志物筛选、疗效及预后的考核。简单地说,比较两组或多组人群随着时间的延续,存活个体的比例变化......
  • 十四、JVM-垃圾相关算法(基础篇)
    一、标记阶段:引用计数算法1、对象存活判断在堆里存放着几乎所有的Java对象实例,在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象。只有被标记为己经死亡的对象,GC才会在执行垃圾回收时,释放掉其所占用的内存空间,因此这个过程我们可以称为垃圾标记阶......