查看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 ...
随机推荐
- spring中引入多个quertz 注意事项
每一个独立的调取任务 需起不同的名字,否则只有最后一个调度起作用其他不起作用
- elasticsearch failed to load elasticsearch nodes
转载:https://blog.csdn.net/weixin_44714808/article/details/90049315 elasticsearch 安装在linux时使用springboo ...
- phpstrom 安装
环境: ubuntu18.4 一. 安装 1. 下载安装包.tar.gz 下载地址:https://www.jetbrains.com/phpstorm/download/#section=linux ...
- Ubuntu16.04安装x11VNC远程桌面
1. 安装x11vnc sudo apt-get install x11vnc 2. 设置密码 x11vnc -storepasswd 3. 修改配置文件 sudu vim /lib/systemd/ ...
- loadRunner函数之lr_set_debug_message
lr_set_debug_message:选择性开启扩展日志 vuser_init: vuser_init() { ; } Action: Action() { ExtendedLog(); // 开 ...
- 抽象abstract
1):一个类如果有抽象方法,这个类一定是抽象类.抽象类不一定有抽象方法.抽象方法是以分号结束.不是以{}. 抽象方法也不提供实现代码. 2):任何拓展抽象类的类都必须实现超类的所有抽象方法.除非子类也 ...
- hdu 6146 Pokémon GO (计数)
Problem Description 众所周知,度度熊最近沉迷于 Pokémon GO. 今天它决定要抓住所有的精灵球!为了不让度度熊失望,精灵球已经被事先放置在一个2*N的格子上,每一个格子上都有 ...
- CoffeeScript编写简单新闻页(仅UI)
CoffeeScript编写简单新闻页(仅UI) 1. 配置(在公司搭建好的环境下配置) omnisocials-backend/src/backend/modules/member/config/m ...
- 初识 ❤ TensorFlow |【一见倾心】
说明
- char指针类型的传值和传址