Linux查看应用Jvm参数的几种方式

JVM 性能调优监控工具之Jmap和 Jhat JVM 性能调优监控工具之Jmap和 Jhat 文章目录JVM 性能调优监控工具之Jmap和 Jhat前言一、什么是jmap和jhat?二、方式一1.jmap导出堆内存2.以本人项目服务器为例3.查看进程堆内存使用情况4.查看堆内存中的对象数目二、方式二(dump导出文件方式)1.jmap把进程内存dump到文件中2.使用jhat查看存储文件总结 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、什么是jmap和jhat? jmap命令是把进程内存使用情况转存到dump文件中,再用jhat分 阅读详情
AI摘要

本文介绍了如何使用jps查看JVM参数,jmap获取堆栈信息和堆内存状态,以及ps-ef/grep结合查找Java进程的相关命令,帮助开发者诊断和优化Java应用性能。,

这里写自定义目录标题

第一种:jps查看jvm参数

jps简介

jps是jdk提供的一个查看当前java进程的小工具, 全称是JavaVirtual Machine Process Status Tool。

jps语法

jps [options] [hostid] 

options选项

-q :仅输出VM标识符,不包括class
-l :输出完全的包名,应用主类名,jar的完全路径名
-v:输出jvm参数
-V:输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件

jps常用命令

jps
jps -l    	输出主类或者jar的完全路径名
jps -v    	输出jvm参数
jps -q    	仅仅显示java进程号
jps -m 		输出JVM启动时传递给main()的参数
jps -lv		显示jar+jvm参数,一般部署多个服务就要用这个,边看服务名边看对应jvm参数
jps -mlv 	即m+l+v的都输出来

jps -lv查看应用jar及jvm参数

jps -lv

在这里插入图片描述

第二种:jmap查看堆栈信息

jmap简介

jmap(JVM Memory Map):作用一方面是获取dump文件(堆转储快照文件,二进制文件),它还可以获取目标Java进程的内存相关信息,包括Java堆各区域的使用情况、堆中对象的统计信息、类加载信息等。

jmap语法

jmap [option] <pid>
jmap [option] <executable> <core>
jmap [option] [server_id@]<remote server IP or hostname>

options选项

选项

作用

-dump

生成dump文件

-finalizerinfo

以ClassLoader为统计口径输出永久代的内存状态信息

-heap

输出整个堆空间的详细信息,包括GC的使用、堆配置信息,以及内存的使用信息等

-histo

输出堆空间中对象的统计信息,包括类、实例数量和合计容量

-histo[:live]

输出堆空间中对象的统计信息,包括类、实例数量和合计容量,如果live子参数加上后,只统计活的对象数量。
比如pid为1111,使用时: jmap -histo:live 1111

-permstat

以ClassLoader为统计口径输出永久代的内存状态信息

-F

当虚拟机进程对-dump选项没有任何响应时,强制执行生成dump文件

jmap -heap查看jvm参数、堆栈信息

先使用jps -l查看你需要输出的进程id是哪个

jps -l

执行jmap -heap pid即可,pid替换为自己的pid即可,如111

jmap -heap 111

在这里插入图片描述
jmap heap输出解析

第三种:ps -ef|grep java查看CMD列

ps -ef |grep+服务名来对于查询服务是否正常运行
ps -ef是显示所有进程的消息
中间的|是管道命令 是指ps命令与grep同时执行

grep是查找输出包含想要的字符串的行
后缀可以加参数

-A  显示所有程序。 
-e  此参数的效果和指定"A"参数相同。
-f  显示UID,PPIP,C与STIME栏位。 

结果显示里面的内容
从左往右依次表示为:UID PID PPID C STIME TTY TIME CMD

  • UID 程序被该 UID 所拥有

  • PID 就是这个程序的 ID

  • PPID 则是其上级父程序的ID

  • C CPU 使用的资源百分比

  • STIME 系统启动时间

  • TTY 登入者的终端机位置

  • TIME 使用掉的 CPU 时间。

  • CMD 所下达的是什么指令

举例

UID       PID       PPID       C     STIME    	TTY        TIME         CMD
zzw      14124   	13991      0     00:38      pts/0      00:00:00    	grep --color=auto dae

后面那一堆CMD列就可以看到jvm参数
在这里插入图片描述

Linux Tomcat JVM 参数调优 Linux JVM 参数调优 适用场景Tomcat 长期运行过程遇到Caused by: java.lang.OutOfMemoryError: PermGen space或java.lang.OutOfMemoryError: Java heap space错误。异常原因 PermGen space的全称是Permanent Generati 阅读详情

相关推荐

Linux下查看JVM参数:jcmd、jinfo与ps命令实战指南

Java服务在线上出现Full GC或内存溢出时,快速确认JVM参数是定位问题的第一步。但很多人对启动脚本、生效参数和动态可调参数的概念混淆,导致排查效率低下。JVM参数实际分为显式配置、默认值与运行时Flag等多层,且受环境变量优先级影响。通过jcmd、jinfo等JDK自带工具,可以结构化查看当前生效的非默认参数、完整命令行及堆状态;而ps和/proc文件系统则能从操作系统层面还原启动命令与环境变量,弥补容器场景下attach权限受限的不足。理解这些命令的输出差异,能有效识别参数来源(手动配置或JVM自

weixin_30545945的博客 270

jmap heap输出解析

jmap heap输出解析jmap简介jmap语法jmap -heap查看jvm参数、堆栈信息jmap -heap输出jvm参数解析 jmap简介 jmap(JVM Memory Map):作用一方面是获取dump文件(堆转储快照文件,二进制文件),它还可以获取目标Java进程的内存相关信息,包括Java堆各区域的使用情况、堆中对象的统计信息、类加载信息等。 jmap语法 jmap [option] <pid> jmap [option] <executable> <core&

郝开的博客 4728

【JVM】jvm jmap 使用

1.概述

九师兄 994

Linux查看jvm相关参数以及设置调优参数

jcmd会显示出来对应的Java进程id。

minyunfei6的博客 2361

MIT 18.03 微分方程 ODE 学习笔记分享——目录

从B站上看到了MIT 微分方程的课程,觉得老爷子讲的真好! 其实微分方程对于工科来说相当重要,但是很多学习也仅把他放在高数里作为单独的一个章节来讲,这是远远不够的。所以对于同学们来说 ,一定要认真听讲,做好笔记! 以下是我的个人学习比较分享。有需要的同学可以做一个参考。 注:个人认为笔记的作用是用来回想起课堂所讲的内容(细节),所以我的笔记风格为以老师讲课思路为准,板书为辅。建议刚开始听这门课的同...

weixin_40664094的博客 2630

Vue2项目实战:vue2-org-tree实现动态组织架构图

本文详细介绍了如何在Vue2项目中使用vue2-org-tree组件实现动态、可交互的组织架构图。内容涵盖从快速安装、基础渲染到核心功能实战,包括水平布局、节点展开折叠、响应式数据绑定、深度自定义节点内容以及事件处理。同时提供了性能优化、样式覆盖等避坑指南,并通过一个完整的企业级Demo展示了如何打造功能丰富的架构图,助力高效开发后台管理系统。

weixin_28040125的博客 523

linux查看jvm参数命令,通过命令查看jvm参数

4.1 查看堆详细信息:jmap -heap pid4.2 查看当前堆中对象统计信息: jmap -histo pid4.3 jmap -dump:format=b,file=dumpFileName pid监控GC的工具分为2种:命令行工具和图形工具,图形工具可以进入jdk的bin目录下打开Jconcole.exe 下面先说命令行工具,在已经设置好java环境变量的情况下,可以在任意地方打开命令...

weixin_29090677的博客 1万+

STM32G0——USB虚拟串口

STM32G0用cubeMX配置实现USB虚拟串口

阿昌 2322

LINUX下开启jvisualvm远程查看JVM

LINUX下开启jvisualvm远程查看JVM 第一步使用xhell登录linux服务器,在服务器上需要做如下配置 在{JAVA_HOME}/bin目录建立文件, 使用vi或者touch命令创建文件jstatd.all.policy 粘贴如下内容 grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; }; 运行jstatd程序 nohup jst

jzhanfeng123的博客 5508

【论文详解】AlphaGenome——Sequence-to-Multimodal-Genome-Track

**AlphaGenome** 是由 **Google DeepMind** 于 2025 年 6 月发布的突破性 AI 模型,专门用于预测非编码区遗传变异的功能效应。该模型采用受 **U-Net** 启发的卷积架构结合 **Transformer** 模块,创新性地解决了传统模型在输入序列长度与预测分辨率之间的核心矛盾——能够在 **1M 碱基对的超长上下文** 下实现 **单核苷酸分辨率** 的精准预测。

zwhszdx的博客 963

手把手教你学Simulink实例--使用 Simulink 进行电力电子系统的小信号模型仿真

电力电子系统(Power Electronics System)包括各种功率转换器(如 DC-DC 转换器、逆变器等)。这些设备中的关键组件(如 MOSFET、IGBT、电容器、电感器等)不仅影响系统的性能,还直接关系到系统的稳定性、效率和可靠性。因此,在设计阶段进行详细的建模和仿真至关重要。小信号模型仿真的目的是通过线性化非线性系统来评估其动态特性,包括增益、相位裕度、带宽等指标。通过本教程,我们介绍了如何使用 Simulink 进行电力电子系统的小信号模型仿真。背景介绍。

MHD0815的博客 298

linux查看jvm堆栈大小命令,JVM查看命令

JDK自己提供了不少方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客但愿能起抛砖引玉之用,让你们能开始对JVM性能调优的经常使用工具备所了解。现实企业级Java开发中,有时候咱们会碰到下面这些问题:htmlOutOfMemoryError,内存不足java内存泄露程序员线程死锁算法锁争用(L...

weixin_29216957的博客 6485

华为OD技术面真题 - 数据库Mysql - 1

汇总华为OD技术面高频Mysql相同问题,提供详细解答。

qq_45776114的博客 1086

weblogic linux jvm参数,WEBLOGIC启动JVM参数设置经验

JVM给了三种选择:串行收集器、并行收集器、并发收集器,但是串行收集器只适用于小数据量的情况,所以这里的选择主要针对并行收集器和并发收集器。默认情况下,JDK5.0以前都是使用串行收集器,如果想使用其他收集器需要在启动时加入相应参数。JDK5.0以后,JVM会根据当前系统配置1. 吞吐量优先的并行收集器如上文所述,并行收集器主要以到达一定的吞吐量为目标,适用于科学技术和后台处理等。典型配置:§ j...

weixin_39690958的博客 1838

硬件学习手册【总目录】

欢迎大家来到《硬件学习手册》,专栏主要包括 《硬件经验手册》《电子元器件器件手册》《PCB手册》《CPU手册》《元器件选型手册》五个分册。在开始专栏的更新前,博主先列出专栏的大纲,以供大家参考。大家直接点击大纲中的蓝色标题即可轻松传送。

fydar的博客 5861

爬虫逆向:Hook 技术原理与实战

Hook 技术​(钩子技术)是一种通过拦截和修改程序执行流程的技术手段。它允许开发者在目标程序的特定位置插入自定义代码,以改变程序的默认行为或获取运行时信息。Hook 技术广泛应用于调试、逆向工程、性能分析、安全防护等领域。Hook 技术在爬虫逆向中非常有用,能够有效获取和修改目标程序的数据。通过合理使用 Hook 工具和技术,可以显著提升爬虫的效率和成功率。但使用时需注意法律和道德问题,确保行为合规。

数据知道的博客 1万+

linux设置jvm内存参数_JVM 与 Linux 的内存关系详解

在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约 600m,Linux自身使用大约800m。从表面上,物理内存应该是足够使用的;但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用 了),如下图所示。由于SWAP和GC同时发生会致使JVM严重卡顿,所以我们要追问:内存究竟去哪儿了?要分析这个问题,理解...

weixin_39604516的博客 2753

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

linux Java问题诊断和排查工具(查看JVM参数、内存使用情况及分析等)

JVM内存异常排查调优

kiduo08的专栏 3257

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Linux使用jstat命令查看jvm的GC情况

Linux使用jstat命令查看jvm的GC情况 Options,选项,我们一般使用 -gcutil 查看gc情况 vmid,VM的进程号,即当前运行的java进程号 interval,间隔时间,单位为秒或者毫秒 count,打印次数,如果缺省则打印无数次 通常运行命令如下: jstat -gc 12538 5000 即会每5秒一次显示进程号为12

东境物语 6423

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

使用Visual VM 查看linux中tomcat运行时JVM内存

前言:在生产环境中经常发生服务器内存溢出,假死或者线程死锁等异常,导致服务不可用。我们经常使用的解决方法是通过分析错误日记,然后去寻找代码到底哪里出现了问题,这样的方式也许会奏效,但是排查起来耗费时间比较多,或者说本身代码本身就没有错,而是访问量大时候消耗内存太多,垃圾对象没有及时回收等等其他情况导致的,这样排查异常起来异常困难,那么有没有一些可视化的工具,帮助我们可以详细地查看当前应用服务的内存情

桂学成 - just do it 4765

linux上查看jvm GC详情并获取jvm当前dump文件

linux上查看jvm GC情况 通过命令行:jstat -gc [pid] [刷新频率ms] 其中pid为要查看的java进程的id,刷新频率为每个多少毫秒刷新一次GC情况。显示内如如下图: 上图中是查看进程id为12711的Java项目,每隔1秒即1000毫秒刷新一次。 参数说明: 1、S0C 和 S1C:Survivor(幸存区) 0/1区的容量(单位为KB); 2、S0U 和 S1U:S...

书生灬今天不吃饭的博客 3210

如何修改jvm启动参数

用java命令查看。 用java -option进行修改参数。 还有tomcat,eclipse启动时通过配置文件加载的。 详细如下: 安装Java开发软件时,默认安装包含两个文件夹,一个JDK(Java开发工具箱),一个JRE(Java运行环境,内含JVM),其中JDK内另含一个JRE。如果只是运行Java程序,则JRE已足够;而JDK则只有开发人员才用到。 一、配置JVM内存 1.配置JVM内存的参数 -XmxJavaHeap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存

m0_54850825的博客 1491

linux 查看tomcat jvm内存大小_详解linux下jvm优化、tomcat调优

系统环境:jdk1.8,apache-tomcat-8.5.35jvm优化进入 bin/catalina.sh,修改JAVA_OPTS配置:JAVA_OPTS="-server -Xms8192M -Xmx8192M -XX:NewRatio=4 -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:ParallelGCThreads=8 -XX:+Hea...

weixin_34107049的博客 3152
上一篇: Linux多线程编程(一)---多线程基本编程
下一篇: Spring-Boot (二) application.properties配置文件内容
普通网友
博客等级 码龄4年 3126粉丝 192原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值