查看java进程内存简单示例
分析工具
1、jps 显示指定系统内的所有JVM进程
2、jstat 收集JVM各方面的运行数据
3、jinfo 显示JVM配置信息
4、jmap 堆快照
5、jhat 分析headdump文件
6、jstack 显示JVM的线程快照
jstat -class pid
- -XX:+PrintGCDetails:输出GC的详细信息
- -XX:+PrintGCTimeStamps:输出GC的时间信息
- -XX:+PrintGCApplicatonStoppedTime:GC造成的应用暂停的时间
- -Xloggc:文件路径/gc.log:输出到文件
1、获取pid
lsof -i:port
2、根据获取到pid,查看gc的相关信息
jstat -gc pid 2000 5 查看gc信息,每两秒刷新一次,总刷新五次。其相关熟悉列举如下:
S0C:Survivor0 的容量
S1C:Survivor1, 与S0C一样
S0U: Survivor0 的利用情况,utilization
S1U:
EC:eden 新生代使用情况
EU:
OC,OU:老年代的一些情况
PC,PU:Permanent space 当前永久代的情况
YGC: Numbers of young generation GC events
YGCT: Young generation Garbage collection time
FGC : full gc 次数
FGCT: full gc 时间
GCT: total gc 时间
3、查看线程信息
ps -mp pid -o THREAD,tid,time|wc -l 查看线程数
ps -mp pid -o THREAD,tid,time | sort -rn | head -10 线程列表,并按照CPU占用高的线程排序
4、将线程tid转成16进制
printf "%x\n" tid
5、查看线程占内存信息
jstack pid |grep 16进制的线程id -A 30
查看java进程内存简单示例的更多相关文章
- 【linux】linux查看资源任务管理器,使用top命令 + 查看java进程下的线程数量【两种方式】
================================ 详解:https://blog.csdn.net/achenyuan/article/details/77867661 ======= ...
- 查看JAVA进程中哪个线程CPU消耗最高
一,在centos linux 上查看进程占用cpu过高 top shift+h 查看哪个进程程消耗最高 二,查看JAVA进程中哪个线程消耗最高 2.1 导出java运行的线程信息 ...
- 查看java进程启动的详细参数和过程
jsp 查看java进程: 6448 main 然后,使用jinfo pid 查看: jinfo 6448 有一行VM Flages:表示启动参数 VM Flags: -Dproc_main -*** ...
- 查看java进程的所有信息
查看java 进程下的所有信息 ll /proc/pid/fd ru:ll /proc/24047/fd
- 数据库数据在Java占用内存简单估算
数据库数据在Java占用内存简单估算 结论: 1.数据库记录放在JAVA里,用对象(ORM一般的处理方式)须要4倍左右的内存空间.用HashMap这样的KV保存须要10倍空间; 2.假设你主要数据是t ...
- Android内存管理(11)*常见JVM回收机制「Java进程内存堆分代,JVM分代回收内存,三种垃圾回收器」
参考: http://www.blogjava.net/rosen/archive/2010/05/21/321575.html 1,Java进程内存堆分代: 典型的JVM根据generation(代 ...
- CentOS查看Java进程并部署jar包
查看Java进程获取pid号:ps -ef|grep java|grep -v grep 部署Javajar包并指定输出日志文件(null不输出):nohup java -jar xx.jar > ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- 记一次Pod中java进程内存“异常”消耗
背景 环境:openshift3.11 开发反映部署在容器中的java应用内存持续增长,只升不降,具体为: java应用部署在容器中,配置的jvm参数为-Xms1024m -Xmx1024m,容器me ...
随机推荐
- ElasticSearch(java) 创建索引
搜索]ElasticSearch Java Api(一) -创建索引 标签: elasticsearchapijavaes 2016-06-19 23:25 33925人阅读 评论(30) 收藏 举报 ...
- equals区别==
来自:https://blog.csdn.net/m0_37721946/article/details/78405595 java中的数据类型,可分为两类: 1.基本数据类型 byte,short, ...
- Angular JS - 1 - 环境准备
1.webstorm 下载安装 webstorm 同 intellij IDEA 一样智能好用~ 智能的同时,比较费内存 2. chrome插件安装 按照下图,打开扩展程序,选择开发者模式: 下载n ...
- Mac 上使用svn 记录
.启动svn服务器 svnadmin create /Users/liuwei/Desktop/svn/UI 如果本地有 UI这个目录了就不用再运行 使用这句就可以了 svnserve -d -r / ...
- php chop()函数 语法
php chop()函数 语法 chop()函数是什么意思? php chop函数是rtrim函数的别名,作用与rtrim函数是相同的,删除字符串右边的空格或其他预定义字符,语法是chop(strin ...
- 启动kafka集群,关闭kafka集群脚本
启动kafka集群,关闭kafka集群脚本 在$KAFKA_HOME/bin下新建如下脚本文件 start-kafka.sh #!/bin/bash BROKERS="mini41 mini ...
- delphi中如何将一整个文件读入内存
来源 https://bbs.csdn.net/topics/390985048 分配一块大内存吧,要是一下申请不了64M那么大,就多申请几块小的,用个链表连起来.用FileStream类的方法读取文 ...
- .net core linux的守护进程 supervisor
这个介绍的很全面,对初学者来说可以有更好的认识: https://www.cnblogs.com/savorboard/p/dotnetcore-supervisor.html
- oracle函数自治事务解决不能增改删的语句操作
CREATE OR REPLACE FUNCTION SEQ3 (v_bname in VARCHAR2) return NUMBER is pragma autonomous_transaction ...
- row_number() over partition by 分组聚合
分组聚合,就是先分组再排序,可以的话顺手标个排名:如果不想分组也可以排名:如果不想分组同时再去重排名也可以 ROW_NUMBER() OVER( [PARTITION BY column_1, col ...