JVM 调优常用命令

news2024/9/27 18:26:46

文章目录

  • 前言
    • JVM 调优常用命令
      • 1. JPS
      • 2. jmap
      • 3. jstat
      • 4. jstack
      • 5. jinfo
      • 6. 常用配置:

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


JVM 调优常用命令

1. JPS

查看进程及其相关信息

2. jmap

用来生成dump文件和查看堆相关的各类信息的命令。

生成堆转储文件:

jmap -dump:format=b,file=heapdump.bin <pid>

-dump 参数生成堆转储文件
format=b 表示二进制格式保存
file=heapdump.bin 指定文件名为
查看堆内存使用信息

jmap -heap <pid>

强制执行full gc 后生成的堆转储文件

jmap -dump:live,format=b,file=heapdump.bin <pid> 

-dump:live 表示只转储存活对象
生成堆中存活对象的实例信息

jmap -histo:live <pid>  > xxx

最好导出到xxx文件中方便查看
生成堆中各个java类的实例统计信息

jmap -histo <pid>  >  xxx

最好导出到xxx文件中,方便查看

3. jstat

查看jvm运行时的状态信息
查看垃圾回收统计信息

jstat -gc <pid> <interval> <count>

说明:显示与JVM垃圾回收相关的统计信息,包括新生代和老年代的回收情况,吞吐量,堆内存使用情况等,可以分析垃圾回收的频率和效率,优化JVM的内存配置。

查看类加载信息

jstat -class <pid> <interval> <count>

说明:显示JVM中已加载类的数量,卸载类的数量以及加载类的速度等信息,可以用来分析类加载情况,检查是否有类加载过慢或者类加载器泄露等情况。

查看编译统计信息

jstat -compiler <pid> <interval> <count>

说明:显示JIT编译器编译的方法数量, 编译耗时等信息,
可以用来分析JIT编译器的性能,检查是否存在频繁编译,或者编译耗时过长的问题。

查看JVM的垃圾回收统计摘要信息

jstat -gcutil <pid> <interval> <count>

主要关注各个区域使用的百分比

<interval> <count>

<interval>  监控数据输出的时间间隔(单位:毫秒)
<count> 输出数据的次数

示例:

jstat  -gc  xxxx 1000  10

每1秒输出一次,总共输出10次
在这里插入图片描述

jstat  -gc xxxx  1000

每秒输出一次,无输出次数限制
在这里插入图片描述

其他命令详情:

jstat命令查看jvm的GC信息

4. jstack

查看jvm线程快照的命令。
作用:
可以生成java应用程序中每个线程的的堆栈跟踪信息,
这对于分析应用程序的性能问题,或者查找死锁等并发问题非常有帮助。

5. jinfo

查看jvm参数和动态修改部分jvm参数常用参数:
查看JVM进程的配置信息

jinfo -flags <pid>

在这里插入图片描述

查看JVM进程的系统信息
jinfo -sysprops
在这里插入图片描述

6. 常用配置:

1、-Xms:初始化堆大小
2、-Xmx:最大堆大小
3、-Xmn:新生代的内存空间大小
4、-XX:SurvivorRatio
5、-Xss:每个线程的堆栈大小
6、-XX:PermSize:设置永久代初始值
7、- XX:MaxPermSize:设置永久代最大值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1909399.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++技能基础:提升C++程序运行效率的方法总结

以下是一些编程方面的建议&#xff0c;目的是为了提升C程序的效率&#xff08;这里的效率以时间为评判标准&#xff09;&#xff0c;欢迎指正和补充 场景&#xff1a;当设计方法时&#xff0c;将方法设计成值传递还是引用或者指针传递建议&#xff1a;当变量所占内存大小与指针…

浏览器出现 502 Bad Gateway的原理分析以及解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法 前言 此类问题主要作为疑难杂症 1. 问题所示 2. 原理分析 502 Bad Gateway 错误表示服务器作为网关或代理时&#xff0c;从上游服务器收到了无效的响应 通常出现在充当代理或网关的网络服务器上&#xff0c;例如 Nginx、Apache…

学校同步时钟系统实现考场时间统一协调

在学校的教育教学活动中&#xff0c;考试是一项至关重要的环节。而确保考场时间的统一协调&#xff0c;对于保障考试的公平性、准确性和严肃性具有不可忽视的意义。学校同步时钟系统的出现&#xff0c;为解决这一问题提供了高效而可靠的解决方案。 一、学校同步时钟系统是一种通…

新版Android Studio中设置gradle的JDK版本

旧版android studio 在旧版&#xff08;具体哪个版本号之前搞不清了&#xff09;中设置JDK版本在>File——>Project Structure——>SDK location——>Gradle Setting——>Gradle SDK 新版android studio 某次更新后发现SDK location下找不到Gradle Setting选项…

kei5l中不能跳转到函数定义的原因和个人遇到的问题

快捷键 CTRLK或F12&#xff0c;在选择要查看的函数定义时按下可以查看到&#xff08;文件没问题的情况下&#xff09; 出现不能查看的原因 1&#xff0c;没有设置生成文件信息&#xff08;第一次打开工程常遇到问题&#xff09; 2, 定义函数的代码没有加入工程 解决方式如下…

1.DDR3 SO-DIMM 内存条硬件总结

最近在使用fpga读写DDR3&#xff0c;板子上的DDR3有两种形式与fpga相连&#xff0c;一种是直接用ddr3内存颗粒&#xff0c;另一种是通过内存条的形式与fpga相连。这里我们正好记录下和ddr3相关的知识&#xff0c;先从DDR3 SO-DIMM 内存条开始。 1.先看内存条的版本 从JEDEC下载…

在idea中查看某个接口的所有实现类图

一、选中某个接口右键 ---> Diagrams ---> show Diagrams&#xff0c;然后就会进入一个新的 tab 页&#xff1b; 二、然后在出来的图上选中某个接口右键 ---> show Implementations&#xff0c;就会显示选中接口的所有实现类列表&#xff1b; 三、最后 ctrl A 全部选…

苍穹外卖--完善登录功能:进行MD5加密

目标 TODO&#xff1a;使用MD5加密方式对明文密码。 实现 password DigestUtils.md5DigestAsHex(password.getBytes());

CEPH 硬盘读写慢问题影响

ceph使用时经常会碰到起不来的情况 第一种就是服务器负载高&#xff0c;这个基本都会觉察到 还有一种就是硬盘问题 硬盘写问题 初始化时ceph会自己进行填充操作 ceph-volume lvm zap /dev/sdx --destroy 我就碰到过没初始化问题 看着一切正常 但看写入速度才几百KB/s 正常都100…

五款神奇的工作效率工具

大家好呀&#xff0c;今天我要来种草几款让我工作效率翻倍的神器啦&#xff01;&#x1f388;如果你也经常感叹时间不够用&#xff0c;那这些小帮手绝对能让你事半功倍哦&#xff01;&#x1f680; 1️⃣ 亿可达 — 软件连接器&#x1f517; 作为一款自动化工具&#xff0c;亿…

运营商如何与第三方服务商合作,共同建设PCDN网络?

运营商与第三方服务商合作&#xff0c;共同建设PCDN&#xff08;P2P CDN&#xff09;网络&#xff0c;是一个涉及技术、资源、运营等多方面的复杂过程。以下是一些建议的操作步骤&#xff1a; 一&#xff0e;明确合作目标与业务模式&#xff1a; 1.运营商与第三方服务商首先需…

如果你想手写Linux系统

哈喽&#xff0c;我是子牙老师。今天咱们聊聊这个话题吧&#xff0c;Linux作为当今科技世界的地基&#xff0c;我们越来越接近真理了&#xff0c;有木有&#xff1f; 这个文章的角度&#xff0c;你可能全网都很难找到第二篇如此系统讲透这个问题的文章 你可能想问&#xff1a…

论文辅导 | 基于模态分解的Transformer-GRU联合电池健康状态估计

辅导文章 模型描述 提出一种基于变分模态分解(variational mode decomposition&#xff0c;VMD)与粒子群优化(particle swarm optimization&#xff0c;PSO)的变换神经网络(Transformer)和门控循环单元(gate recurrent unit&#xff0c;GRU)的联合方法。首先将锂电池容量信息通…

科普文:一文搞懂jvm实战(四)深入理解逃逸分析Escape Analysis

概叙 Java 中的对象是否都分配在堆内存中&#xff1f; 好了太抽象了&#xff0c;那具体一点&#xff0c;看看下面这个对象是在哪里分配内存&#xff1f; public void test() { Object object new Object(); }这个方法中的object对象&#xff0c;是在堆中分配内存么&#xff1…

城市地下综合管廊物联网远程监控

城市地下综合管廊物联网远程监控 城市地下综合管廊&#xff0c;作为现代都市基础设施的重要组成部分&#xff0c;其物联网远程监控系统的构建是实现智慧城市建设的关键环节。这一系统集成了先进的信息技术、传感器技术、通信技术和数据处理技术&#xff0c;旨在对埋设于地下的…

免费无限白嫖阿里云服务器

今天&#xff0c;我来分享一个免费且无限使用阿里云服务器的方法&#xff0c;零成本&#xff01;这适用于日常测试学习&#xff0c;比如测试 Shell 脚本、学习 Docker 安装、MySQL 等等。跟着我的步骤&#xff0c;你将轻松拥有一个稳定可靠的服务器&#xff0c;为你的学习和实践…

数字化打破传统,引领企业跨界经营与行业生态盈利

在当今数字化时代&#xff0c;传统的赚货差思路正面临着巨大的挑战。然而&#xff0c;数字化的崛起为企业提供了突破传统束缚的机会&#xff0c;促使其转向跨界经营&#xff0c;并通过行业生态经营获取利润。 首先&#xff0c;数字化打破了传统赚货差思路的局限性。以往&…

【ARMv8/v9 GIC 系列 5.8 -- SPI 中断路由到指定的 core 详细介绍】

请阅读【ARM GICv3/v4 实战学习 】 文章目录 SPI 中断路由配置寄存器字段代码示例Usage scenarioSPI 中断路由配置 在ARMv8和ARMv9架构下,当启用亲和性路由(Affinity Routing)时,系统寄存器GICD_IROUTER<n>用于提供具有INTID n的SPI的路由信息。n的最大值由公式(32*…

RocketMQ之消费者,消息拉取流程详解附源码解析

RocketMQ 消费者&#xff08;4&#xff09;消息拉取 流程详解 & 源码解析 1. 背景 本文是 RocketMQ 消费者系列的第四篇&#xff0c;介绍消息拉取的流程。 RocketMQ 的消费主要分推和拉两个模式&#xff0c;拉模式主动拉取消息&#xff0c;整个逻辑比较简单。本文着重介绍…

如何判断ip地址在同一个网段:技术解析与实际应用

在网络世界中&#xff0c;IP地址就像每个人的身份证一样&#xff0c;是识别和定位网络设备的关键。然而&#xff0c;仅仅知道IP地址还不足以完全理解其背后的网络结构和通信方式。特别是当我们需要判断两个或多个IP地址是否位于同一网段时&#xff0c;就需要借助子网掩码这一概…