当前位置: 首页 > news >正文

如何查看jvm资源占用情况

如何设置jar的内存

java -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+AlwaysPreTouch -XX:ReservedCodeCacheSize=128m -XX:InitialCodeCacheSize=128m -Xss512k -Xmx2g -Xms2g -XX:+UseG1GC -XX:G1HeapRegionSize=4M -jar your-application.jar

以上配置为堆内存4G

jar项目内存溢出了,怎么看

1、JConsole(bin/自带程序):

运行 jconsole,并连接到你的 Java 应用程序。
在 Memory 选项卡中,你可以查看堆内存的使用情况。

2、jstat:

运行 jstat 工具来查看内存统计信息。例如:

jstat -gc <pid>

其中 是 Java 应用程序的进程 ID。

3、jmap:

使用 jmap 工具来查看详细的内存信息。例如:

jmap -heap <pid>

使用jmap -histo:live [pid] 分析具体的对象数目和占用内存大小,从而定位代码(pid可通过top命令查看)
在这里插入图片描述

如何使用jconsole查看远程的jar(springboot服务)

java -Djava.rmi.server.hostname=例如:192.168.110.110 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=例如:1234 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar api-0.0.1-SNAPSHOT.jar

如上你可以在本地jconsole链接远程了,上述配置没有设置密码(你也可以不嫌麻烦的设置一个)
在这里插入图片描述

其他优化

java -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=128M -Xss512k -Xmx4g -Xms4g -XX:+UseG1GC -jar your-application.jar
  • Metaspace是用来存放类元数据的空间。
    根据你的实际类加载需求调整 -XX:MetaspaceSize 和 -XX:MaxMetaspaceSize。

  • 线程栈大小:
    -Xss512k: 如果你的应用创建了大量线程且栈消耗不大,这个值是合理的。如果需要更多栈空间,可以调整。

  • 堆内存设置:
    -Xmx 和 -Xms: 根据你的应用实际需要进行调整。8GB的服务器可以将堆内存设为更大一些,但要保证其他系统进程有足够的内存使用。

  • 垃圾收集器:
    -XX:+UseG1GC: G1GC是适用于低延迟场景的良好选择。如果你的应用对暂停时间非常敏感,这是一个好选择。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JavaScript(11)——对象
  • SSD基本架构与工作原理
  • MongoDB教程(十一):MongoDB关系管理与文档关联
  • 加密传输及相关安全验证:
  • bash 笔记
  • Web开发:xmlns解析
  • SpringBoot:SpringBoot通过注解监测Controller接口
  • 使用 Redis 实现验证码、token 的存储,用自定义拦截器完成用户认证、并使用双重拦截器解决 token 刷新的问题
  • 用PyTorch从零开始编写DeepSeek-V2
  • React antd form表单未保存跳转页面提示
  • 【git】github中的Pull Request是什么
  • 医学深度学习与机器学习融合的随想
  • MFC列表框示例
  • watch监听vue2与vue3的写法
  • 梧桐数据库:数据库技术中表之间的连接算法详解
  • @angular/forms 源码解析之双向绑定
  • AHK 中 = 和 == 等比较运算符的用法
  • Android 控件背景颜色处理
  • cookie和session
  • CSS实用技巧
  • eclipse(luna)创建web工程
  • ESLint简单操作
  • gitlab-ci配置详解(一)
  • go append函数以及写入
  • HomeBrew常规使用教程
  • Logstash 参考指南(目录)
  • MySQL-事务管理(基础)
  • Python实现BT种子转化为磁力链接【实战】
  • python学习笔记-类对象的信息
  • Spring声明式事务管理之一:五大属性分析
  • 搭建gitbook 和 访问权限认证
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 记一次和乔布斯合作最难忘的经历
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 看域名解析域名安全对SEO的影响
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 如何在 Tornado 中实现 Middleware
  •  一套莫尔斯电报听写、翻译系统
  • 如何在招聘中考核.NET架构师
  • 通过调用文摘列表API获取文摘
  • ​configparser --- 配置文件解析器​
  • #HarmonyOS:基础语法
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (2024)docker-compose实战 (8)部署LAMP项目(最终版)
  • (23)Linux的软硬连接
  • (4) PIVOT 和 UPIVOT 的使用
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (C#)获取字符编码的类
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (ZT)一个美国文科博士的YardLife
  • (多级缓存)缓存同步
  • (二)学习JVM —— 垃圾回收机制
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)