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进程堆栈大小的更多相关文章

  1. Linux查看当前正在运行的进程

    Linux查看当前正在运行的进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps PID TTY TIME CMD 2576 pts/0 00:00:00 ...

  2. Linux查看当前正在执行的进程

    Linux查看当前正在执行的进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps PID TTY TIME CMD 2576 pts/0 00:00:00 ...

  3. Linux查看非root运行的进程

    Linux查看非root运行的进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -U root -u root -N PID TTY TIME CMD ...

  4. Linux查看系统中的每个进程

    Linux查看系统中的每个进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -A PID TTY TIME CMD 1 ? 00:00:01 init ...

  5. linux查看操作系统版本信息

    linux查看操作系统版本信息  摘自:https://www.cnblogs.com/vaelailai/p/7545166.html 一.linux下如何查看已安装的centos版本信息: 1.L ...

  6. Linux 查看Tomcat版本信息

    Linux 查看Tomcat版本信息 如果我们想运行在 Linux 下的 Tomcat 版本信息,只需要在 Tomcat 的 bin/ 目录下,运行 version.sh 脚本即可. 1.使用如下命令 ...

  7. Linux 查看操作系统版本信息 uname

    Linux 查看操作系统版本信息 uname uname 命令用于显示当前系统的版本信息. 带 -a 选项的 uname 命令会给出当前操作系统的所有有用信息. 命令如下: [root@node1 / ...

  8. Linux 查看登录用户信息 who & whoami

    Linux 查看登录用户信息 who & whoami 在一台服务器上,同一时间往往会有很难多人同时登录. who 命令可以查看当前系统中有哪些人登录,以及他们都工作在哪个控制台上. 这样可以 ...

  9. Linux查看系统硬件信息命令

    Linux查看系统硬件信息命令 查看磁盘类型(是否SSD) cat /sys/block/sda/queue/rotational code:0 SSD盘 code:1 SATA盘 查看物理CPU个数 ...

  10. Linux查看RAM内存信息

    1.查看/proc/meminfo文件 查看RAM使用情况最简单的方法是通过/proc/meminfo. 这个动态更新的虚拟文件列出了详细的内存使用情况. cat /proc/meminfo 命令输出 ...

随机推荐

  1. 可持久化栈学习笔记 | 题解 P6182 [USACO10OPEN]Time Travel S

    简要题意 你需要维护一个栈,有 \(n\) 个操作,支持: 给定一个 \(x\),将 \(x\) 加入栈. 将一个元素出栈. 给定一个 \(x\),将当前栈回退到 第 \(x\) 操作前. 每一次操作 ...

  2. Ansible 学习笔记 - 定位主机和组的模式

    中英文对照表 英文 中文 备注 host 主机 group (主机)组 pattern 模式 ad hoc 特别命令 playbook 剧本 Ansible 专有名词,一段复杂的编排 inventor ...

  3. ORM执行原生SQL语句、双下划线数据查询、ORM外键字段的创建、外键字段的相关操作、ORM跨表查询、基于对象的跨表查询、基于双下划线的跨表查询、进阶查询操作

    今日内容 ORM执行SQL语句 有时候ROM的操作效率可能偏低 我们是可以自己编写sql的 方式1: models.User.objects.raw('select * from app01_user ...

  4. 异步async await 相关知识点总结以及代码练习

    <script> const setTimeoutToPromise = duration => new Promise(resolve => { setTimeout(res ...

  5. Java入门与进阶 P-2.1+P-2.2

    比较运算符 关系运算符(relational operators)也可以称为"比较运算符",用于用来比较判断两个变量或常量的大小.关系运算符是二元运算符,运算结果是 boolean ...

  6. Lamdba表达式的无参数无返回值的练习-Lambda表达式有参数有返回值的练习

    Lamdba表达式的无参数无返回值的练习 题目给定一个厨子Cook接口,内含唯一的抽象方法makeFood,且无参数.无返回值.如下∶public interface cook {void makeF ...

  7. Python 内置界面开发框架 Tkinter入门篇 丙(文末有福利彩蛋,今天可是元宵节)

    以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/B1hH5Qzd2RkAiiUId1tLWw 本文大概 2874 个字 ...

  8. python基本数据类型与内置方法

    1.数据类型内置方法理论 1.每一种数据类型本身都含有一系列的操作方法,内置方法是其本身自带的功能,是其中最多的. 2.python中数据类型调用的内置方法的统一句式为>>>:句点符 ...

  9. Spring6 DI 依赖注入--Bean属性赋值

    Spring6基于XML实现Bean 管理(属性赋值) IOC和DI有什么区别:DI是IOC中的具体实现,DI表示依赖注入或注入属性,注入属性要在创建对象的基础之上完成 依赖注入方法 bean属性赋值 ...

  10. 后台管理系统带关闭的选项卡(多标签页)功能 适配bootstrap3和4 Bootstrap Hover Dropdown

    眼看着是不是很熟悉,其实基本大部门后台管理系统都有这个功能,使用iframe实现展示标签页面. 主要功能:标签页点击,添加标签页,向左滚动标签页,向右滚动标签页,刷新当前标签页,关闭当前标签页,关闭其 ...