Linux查看某个服务JVM的GC和堆内存使用情况

一、  使用 jps 命令查看配置了JVM的服务
 jps

标红部分是进程号

二、查看某个进程JVM的GC使用情况
  jstat -gc 71614 5000

jstat -gc 进程号 刷新时间

  • S0C:年轻代中第一个survivor(幸存区)的容量 (字节)
  • S1C:年轻代中第二个survivor(幸存区)的容量 (字节)
  • S0U :年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
  • S1U :年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
  • EC :年轻代中Eden(伊甸园)的容量 (字节)
  • EU :年轻代中Eden(伊甸园)目前已使用空间 (字节)
  • OC :Old代的容量 (字节)
  • OU :Old代目前已使用空间 (字节)
  • MC:metaspace(元空间)的容量 (字节)
  • MU:metaspace(元空间)目前已使用空间 (字节)
  • YGC :从应用程序启动到采样时年轻代中gc次数
  • YGCT :从应用程序启动到采样时年轻代中gc所用时间(s)
  • FGC :从应用程序启动到采样时old代(全gc)gc次数
  • FGCT :从应用程序启动到采样时old代(全gc)gc所用时间(s)
  • GCT:从应用程序启动到采样时gc用的总时间(s)

作者:jijs
链接:https://www.jianshu.com/p/213710fb9e40
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

三、查看堆内存使用情况
jmap -heap 71614

jmap -heap 进程号

Heap Configuration:   #堆配置情况 
   MinHeapFreeRatio         = 40  #堆最小使用比例
   MaxHeapFreeRatio         = 70  #堆最大使用比例
   MaxHeapSize              = 8589934592 (8192.0MB)  #堆最大空间
   NewSize                  = 1363144 (1.2999954223632812MB) #新生代初始化大小
   MaxNewSize               = 5152702464 (4914.0MB)          #新生代可使用最大容量大小
   OldSize                  = 5452592 (5.1999969482421875MB) #老生代大小
   NewRatio                 = 2   #新生代比例
   SurvivorRatio            = 8   #新生代与suvivor的占比
   MetaspaceSize            = 21807104 (20.796875MB) #元数据空间初始大小
   CompressedClassSpaceSize = 1073741824 (1024.0MB) #类指针压缩空间大小, 默认为1G
   MaxMetaspaceSize         = 17592186044415 MB  #元数据空间的最大值, 超过此值就会触发 GC溢出( JVM会动态地改变此值)
   G1HeapRegionSize         = 2097152 (2.0MB) #区块的大小

Heap Usage:
G1 Heap:
   regions  = 4096  # G1区块初始化大小
   capacity = 8589934592 (8192.0MB)  #G1区块最大可使用大小
   used     = 1557972768 (1485.7986145019531MB)  #G1区块已使用内存
   free     = 7031961824 (6706.201385498047MB)   #G1区块空闲内存
   18.137190118432045% used     #G1区块使用比例
G1 Young Generation:  #新生代
Eden Space:  #Eden区空间
   regions  = 670
   capacity = 2699034624 (2574.0MB)
   used     = 1405091840 (1340.0MB)
   free     = 1293942784 (1234.0MB)
   52.05905205905206% used
Survivor Space: #Survivor区
   regions  = 3
   capacity = 6291456 (6.0MB)
   used     = 6291456 (6.0MB)
   free     = 0 (0.0MB)
   100.0% used
G1 Old Generation: #老生代
   regions  = 72
   capacity = 1589641216 (1516.0MB)
   used     = 146589472 (139.79861450195312MB)
   free     = 1443051744 (1376.2013854980469MB)
   9.221544492213267% used
————————————————
版权声明:本文为CSDN博主「后视镜的世界」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38973841/article/details/95589037

原文地址:https://www.cnblogs.com/zhanying999666/p/12188937.html

时间: 2024-08-04 10:07:47

Linux查看某个服务JVM的GC和堆内存使用情况的相关文章

linux查看各服务状态以及开启和关闭

1.......................................... 友好的显示所有服务的运行状态: service --status-all chkconfig --list 2................................ 查看单个服务的运行状态 如 service sshd status 3................................ 查看启动状态,是否开机自动启动 chkconfig --list servicename 0:开机

linux 查看各服务状态chkconfig

使用chkconfig 查看服务状态启动状态chkconfig --list 查看服务状态chkconfig --del <service name> 删除掉某项服务.在Fedora14中测试,删除掉sshd服务,依然可以ssh方式登陆,但重启后发现sshd服务再没启动.即开机启动被取消掉了后来用如下命令恢复就又好了.chkconfig --add <service name> 增加一项服务,使其开机启动. 重启服务操作如下:service <service name>

linux 查看一个服务的绝对路径

例如查找nginx所在绝对路径 首先找出进程ID: ps aux|grep nginx # ls -l /proc/29419/exelrwxrwxrwx 1 root root 0 Mar 11 15:32 /proc/29419/exe -> /data/ops/app/tengine-2.1.0/sbin/nginx

linux查看 rsync 服务状态

[[email protected] /]# lsof -i tcp:873 COMMAND  PID USER  FD  TYPE DEVICE SIZE/OFF NODE NAME rsync  10309 root  4u IPv4 94045      0t0 TCP *:rsync (LISTEN) rsync  10309 root  5u IPv6 94046      0t0 TCP *:rsync (LISTEN) 原文地址:https://www.cnblogs.com/fa

Linux查看物理CPU个数,核数,逻辑CPU个数;内存信息

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 1 # 查看每个物理CPU中core的个数(即核数) cat /proc/cpuinfo| grep "cpu cores"| uniq cpu cores : 1 # 查看逻辑CPU的个数 c

堆内存动态分配情况和jvm调优方向

由上图可以看出: 堆中分为新生代(占堆1/3内存)和老年代(占堆2/3内存), 新生代又分为Eden区(占新生代内存的8/10)和survivor区(占新生代内存的2/10), survivor区又分为from区和to区(各占新生代内存的1/10) 我们知道new出来的对象都是方在堆里面,那么具体在堆里面是怎么样的呢? 1.刚开始new出来的对象放在Eden区 2.等到Eden放满之后,就会进行一次minor gc,清除无效对象并将存活的对象移入from区(第一次minor gc),Eden又可

jvm 调整tomcat的堆内存和常驻内存catalina.sh

4.2 性能优化 tomcat性能取决于你的内存大小 上策:优化代码 中策:jvm优化机制  垃圾回收机制 把不需要的内存回收   优化jvm--优化垃圾回收策略 优化catalina.sh配置文件.在catalina.sh配置文件中添加以下代码: #tomcat分配1G内存模板 JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:Ma

HBase 中的 JVM 与 GC

HBase中JVM基本配置 在JVM中,默认情况下会设置minimum heap size 为 1/64 可用物理内存,并为maximum heap size设置 1/4 的物理可用内存(不过在Java8 之前,默认最大是1g).当然,我们可以通过手动指定 JVM 参数,配置JVM的内存,例如: -Xms10g -Xmx10g 在HBase 中,也可以在 hbase-env.sh 中显示指定堆内存大小,例如: # The maximum amount of heap to use. Defaul

linux 查看内存的插槽数

[[email protected] ~]# dmidecode|grep -P -A5 "Memory\s+Device"| grep Size | grep -v Range #linux查看内存的插槽数以及每条内存有多大 Size: 1024 MB Size: No Module InstalledYou have new mail in /var/spool/mail/root[[email protected] ~]# dmidecode | grep -P 'Maximum