自学内容网 自学内容网

如何查看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>

如何使用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是适用于低延迟场景的良好选择。如果你的应用对暂停时间非常敏感,这是一个好选择。


原文地址:https://blog.csdn.net/JGMa_TiMo/article/details/140608054

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!