linux查看java堆栈信息_linux进程堆栈大小
1、查看JAVA进程JVM参数
jinfo -flags pid(进程号)
-XX:CICompilerCount=2 最大的并行编译数
-XX:InitialHeapSize=16777216 JVM 的初始堆内存大小
-XX:MaxHeapSize=257949696 JVM 的最大堆内存大小
-XX:MaxNewSize=85983232
-XX:MinHeapDeltaBytes=196608
-XX:NewSize=5570560
-XX:OldSize=11206656
2、JVM 查看当前Java进程的启动参数
jmap -heap [进程号]
NewRatio: 指定老年代/新生代的堆内存比例,默认2:1。在hotspot虚拟机中,堆内存 = 新生代 + 老年代。在设置了-XX:MaxNewSize的情况下,-XX:NewRatio的值会被忽略,老年代的内存=堆内存 - 新生代内存。老年代的最大内存 = 堆内存 - 新生代 最大内存。
SurvivorRatio: 新生代中1个Eden区与1个Survivor区的大小比值。在hotspot虚拟机中,新生代 = 1个Eden + 2个Survivor。如果新生代内存是10M,SurvivorRatio=8,那么Eden区占8M,2个Survivor区各占1M。
Eden区是一块,Survivor区是两块。
Eden区和Survivor区的比例是8:1:1
JVM内存的结构为
堆:存放对象
栈:运行时存放栈帧
程序计数器
方法区:存放类和常量
Jdk 1.8之后好像取消了方法区,直接将永久代放到了本地内存里面
3、Jstat可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。
jstat -gcutil pid
通过 jstat -gcutil pid 命令,我们可以对gc信息进行统计。
jstat -gc pid
这个命令看起来显示的信息比上一个命令还多。jstat -gc pid 可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
jstat -gccapacity pid
jstat -gccapacity pid 命令可以显示:VM内存中三代(young,old,perm)对象的使用和占用大小。如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。其他的可以根据这个类推, OC是old内纯的占用量。
jstat -gcnew pid
jstat -gcnew pid 命令可以显示年轻代对象的信息。
jstat -gcnewcapacity pid
jstat -gcnewcapacity pid 命令可以显示年轻代对象的信息及其占用量。
jstat -gcold pid
jstat -gcold pid 命令可以显示old代对象的信息。
jstat -gcoldcapacity pid
jstat -gcoldcapacity pid 命令可以显示old代对象的信息及其占用量。
jstat -class pid
jstat -class pid 命令可以显示加载class的数量,及所占空间等信息。
jstat -compiler pid
jstat -compiler pid 命令可以显示VM实时编译的数量等信息。
jstat -printcompilation pid
jstat -printcompilation pid 命令可以显示当前VM执行的信息。
参数解释
S0C:年轻代中第一个survivor(幸存区)的容量 (kb)
S1C:年轻代中第二个survivor(幸存区)的容量 (kb)
S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (kb)
S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (kb)
EC:年轻代中Eden(伊甸园)的容量 (kb)
EU:年轻代中Eden(伊甸园)目前已使用空间 (kb)
OC:Old代的容量 (kb)
OU:Old代目前已使用空间 (kb)
PC:Perm(持久代)的容量 (kb)
PU:Perm(持久代)目前已使用空间 (kb)
YGC:从应用程序启动到采样时年轻代中gc次数
YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
FGC:从应用程序启动到采样时old代(全gc)gc次数
FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT:从应用程序启动到采样时gc用的总时间(s)
NGCMN:年轻代(young)中初始化(最小)的大小 (kb)
NGCMX:年轻代(young)的最大容量 (kb)
NGC:年轻代(young)中当前的容量 (kb)
OGCMN:old代中初始化(最小)的大小 (kb)
OGCMX:old代的最大容量 (kb)
OGC:old代当前新生成的容量 (kb)
PGCMN:perm代中初始化(最小)的大小 (kb)
PGCMX:perm代的最大容量 (kb)
PGC:perm代当前新生成的容量 (kb)
S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
E:年轻代中Eden(伊甸园)已使用的占当前容量百分比
O:old代已使用的占当前容量百分比
P:perm代已使用的占当前容量百分比
S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (kb)
S1CMX :年轻代中第二个survivor(幸存区)的最大容量 (kb)
ECMX:年轻代中Eden(伊甸园)的最大容量 (kb)
DSS:当前需要survivor(幸存区)的容量 (kb)(Eden区已满)
TT: 持有次数限制
MTT : 最大持有次数限制
4、命令jmap是一个多功能的命令。它可以生成 java 程序的 dump 文件, 也可以查看堆内对象示例的统计信息、查看 ClassLoader 的信息以及 finalizer 队列。
jmap pid查看进程的内存映像信息,类似 Solaris pmap 命令。
jmap -heap pid显示Java堆详细信息
jmap -histo:live pid显示堆中对象的统计信息
jmap -clstats pid 打印类加载器信息
jmap -finalizerinfo pid打印等待终结的对象信息
jmap -dump:format=b,file=heapdump.phrof pid生成堆转储快照dump文件
5、jinfo 是 JDK 自带的命令,可以用来查看正在运行的 java 应用程序的扩展参数,包括Java System属性和JVM命令行参数;也可以动态的修改正在运行的 JVM 一些参数。当系统崩溃时,jinfo可以从core文件里面知道崩溃的Java应用程序的配置信息
jinfo pid输出当前 jvm 进程的全部参数和系统属性
jinfo -flag name pid输出对应名称的参数
jinfo -flag [+|-]name pid开启或者关闭对应名称的参数
jinfo -flag name=value pid修改指定参数的值。
jinfo -flags pid输出全部的参数
jinfo -sysprops pid输出当前 jvm 进行的全部的系统属性
linux查看java堆栈信息_linux进程堆栈大小的更多相关文章
- Linux查看当前正在运行的进程
Linux查看当前正在运行的进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps PID TTY TIME CMD 2576 pts/0 00:00:00 ...
- Linux查看当前正在执行的进程
Linux查看当前正在执行的进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps PID TTY TIME CMD 2576 pts/0 00:00:00 ...
- Linux查看非root运行的进程
Linux查看非root运行的进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -U root -u root -N PID TTY TIME CMD ...
- Linux查看系统中的每个进程
Linux查看系统中的每个进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -A PID TTY TIME CMD 1 ? 00:00:01 init ...
- linux查看操作系统版本信息
linux查看操作系统版本信息 摘自:https://www.cnblogs.com/vaelailai/p/7545166.html 一.linux下如何查看已安装的centos版本信息: 1.L ...
- Linux 查看Tomcat版本信息
Linux 查看Tomcat版本信息 如果我们想运行在 Linux 下的 Tomcat 版本信息,只需要在 Tomcat 的 bin/ 目录下,运行 version.sh 脚本即可. 1.使用如下命令 ...
- Linux 查看操作系统版本信息 uname
Linux 查看操作系统版本信息 uname uname 命令用于显示当前系统的版本信息. 带 -a 选项的 uname 命令会给出当前操作系统的所有有用信息. 命令如下: [root@node1 / ...
- Linux 查看登录用户信息 who & whoami
Linux 查看登录用户信息 who & whoami 在一台服务器上,同一时间往往会有很难多人同时登录. who 命令可以查看当前系统中有哪些人登录,以及他们都工作在哪个控制台上. 这样可以 ...
- Linux查看系统硬件信息命令
Linux查看系统硬件信息命令 查看磁盘类型(是否SSD) cat /sys/block/sda/queue/rotational code:0 SSD盘 code:1 SATA盘 查看物理CPU个数 ...
- Linux查看RAM内存信息
1.查看/proc/meminfo文件 查看RAM使用情况最简单的方法是通过/proc/meminfo. 这个动态更新的虚拟文件列出了详细的内存使用情况. cat /proc/meminfo 命令输出 ...
随机推荐
- ionic+vue+capacitor系列笔记--01项目初始化
Ionic 是什么? Ionic 是一款接近原生的 Html5 移动 App 开发框架,只需要你会 HTML.CSS 和 JavaScript 就可以开发移动 App应用,使用最基础的 Web 技术创 ...
- Codeforces Round #601 (Div. 2) A-E
比赛链接 A 题意 给两个数字 \(a,b\) ,每次操作可以使 \(a\) 加上 \(+1,+2,+5,-1,-2,-5\) 中的一个数,求最少多少次操作可以将 \(a\) 变成 \(b\) . 题 ...
- Mybatis的学习与理解
Mybatis 1.介绍 Mybatis是支持SQL查询,存储和映射的持久层框架.使用时消除了JDBC代码和参数的设置以及对结果集的封装 Mybatis可以使用注解来进行配置和进行映射,将Mapper ...
- 论文翻译:2022_Phase-Aware Deep Speech Enhancement: It’s All About The Frame Length
摘要 虽然相位感知语音处理近年来受到越来越多的关注,但大多数帧长约为32 ms的窄带STFT方法显示出相位对整体性能的影响相当温和.与此同时,现代基于深度神经网络(DNN)的方法,如Conv-TasN ...
- 虚拟DOM中给同一层级的元素设置固定且唯一的key为什么能提高性能
一.文字 key让React知道,当前新生成的React元素中的元素,是否能在之前生成的React元素中找到对应的.如果有,那么直接拿过来用就行了.假设列表头部插入一项,通过比对,React知道除了头 ...
- spring cloud alibaba - Nacos 作为注册中心基础使用-服务提供者和消费者
1.概况 服务提供者9001和9002,他们是同一个服务,服务消费者83 2.创建服务提供者 9001和9002除了端口是一样的,这里只演示一个 2.1项目结构 2.2依赖 nacos依赖 <d ...
- 使用nvm时报错:exit status 1: ļ Ѵ ʱ ļ 的解决办法
1.出现问题 如图,安装完nvm后,使用[nvm use 版本号]命令切换版本,出现如题错误,具体截图如下 2.分析原因 1)安装路径是否包含中文 2)安装路径有空格 3)cmd使用是否是管理员方式打 ...
- 学习Java Day11
今天学习了二维数组:
- 一牛X同学的报告分享
https://indico.cern.ch/event/743699/contributions/3072640/attachments/1750517/2836233/ARIES_Workshop ...
- 手把手教你为基于Netty的IM生成自签名SSL/TLS证书
1.引言 对于IM聊天应用来说,为了提升安全性,对聊天消息加密是常规操作. 众所周之,Netty是高性能的Java NIO网络通信框架,因而用Netty来写IM是再正常不过了.网上关于为Netty生成 ...