java命令 jmap 堆参数分析

news/2024/7/5 8:35:32 标签: java, jmap

jmap_heap_pid_pid_0">jmap -heap pid 展示pid的整体堆信息

bash-4.4# jmap  -heap 10
Attaching to process ID 10, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.172-b11

using thread-local object allocation.
Garbage-First (G1) GC with 8 thread(s)

Heap Configuration:
MinHeapFreeRatio         = 40

空闲堆空间的最小百分比,计算公式为:HeapFreeRatio =(CurrentFreeHeapSize/CurrentTotalHeapSize) * 100,值的区间为0到100,默认值为 40。如果HeapFreeRatio < MinHeapFreeRatio,则需要进行堆扩容,扩容的时机应该在每次垃圾回收之后。

MaxHeapFreeRatio         = 70

空闲堆空间的最大百分比,计算公式为:HeapFreeRatio =(CurrentFreeHeapSize/CurrentTotalHeapSize) * 100,值的区间为0到100,默认值为 70。如果HeapFreeRatio > MaxHeapFreeRatio,则需要进行堆缩容,缩容的时机应该在每次垃圾回收之后。

MaxHeapSize              = 4164943872 (3972.0MB)

JVM 堆空间允许的最大值

NewSize                  = 1363144 (1.2999954223632812MB)

JVM 新生代堆空间的默认值。

MaxNewSize               = 2498756608 (2383.0MB)

JVM 新生代堆空间允许的最大值

OldSize                  = 5452592 (5.1999969482421875MB)

JVM 老年代堆空间的默认值。

NewRatio                 = 2

新生代(2个Survivor区和Eden区 )与老年代(不包括永久区)的堆空间比值,表示新生代:老年代=1:2。

SurvivorRatio            = 8

两个Survivor区和Eden区的堆空间比值为 8,表示 S0 : S1 :Eden = 1:1:8。

MetaspaceSize            = 536870912 (512.0MB)

JVM 元空间的初始值。

CompressedClassSpaceSize = 528482304 (504.0MB)
MaxMetaspaceSize         = 536870912 (512.0MB)

JVM 元空间允许的最大值。

G1HeapRegionSize         = 1048576 (1.0MB)

在使用 G1 垃圾回收算法时,JVM 会将 Heap 空间分隔为若干个 Region,该参数用来指定每个 Region 空间的大小。

Heap Usage:
G1 Heap:
   regions  = 3972
   capacity = 4164943872 (3972.0MB)
   used     = 444930512 (424.3188018798828MB)
   free     = 3720013360 (3547.681198120117MB)
   10.68274929204136% used

G1 的 Heap 使用情况,该 Heap 包含 4096 个 Region,结合上文每个 RegionSize=1M,因此 Capacity = Regions * RegionSize = 4096 * 1M = 4096M,使用空间为 5M,空闲空间为 4091M,使用率为 0.12%。

G1 Young Generation:
Eden Space:
   regions  = 72
   capacity = 848297984 (809.0MB)
   used     = 75497472 (72.0MB)
   free     = 772800512 (737.0MB)
   8.899876390605685% used

G1 的 Eden 区的使用情况,总共使用了 6 个 Region,结合上文每个 RegionSize=1M,因此 Used = Regions * RegionSize = 6 * 1M = 6M,Capacity=26M表明当前 Eden 空间分配了 26 个 Region,使用率为 23%。

Survivor Space:
   regions  = 5
   capacity = 5242880 (5.0MB)
   used     = 5242880 (5.0MB)
   free     = 0 (0.0MB)
   100.0% used

G1 的 Survivor 区的使用情况,同 Eden区。

G1 Old Generation:
   regions  = 357
   capacity = 501219328 (478.0MB)
   used     = 364190160 (347.3188018798828MB)
   free     = 137029168 (130.6811981201172MB)
   72.6608372133646% used

G1 的 老年代的使用情况,同 Eden区。

40396 interned Strings occupying 4633632 bytes.



http://www.niftyadmin.cn/n/5194901.html

相关文章

io多路复用:select、poll和epoll

1、为什么使用多路复用&#xff1a; 1.1单线程BIO监听socket 多路复用一般用于网络io当中&#xff0c;提到网络io我们肯定能想到socket。如果我们想要一个线程单纯的用向下文的方式监听很多个socket看他是否有事件发生&#xff0c;那这样是不可行。 但上一个socket1没有可读事…

云原生微服务-理论篇

文章目录 分布式应用的需求分布式架构治理模式演进ESB 是什么&#xff1f;微服务架构 MSA微服务实践细节微服务治理框架sidercar 什么是service mesh&#xff1f;康威定律微服务的扩展性什么是MSA 架构&#xff1f;中台战略和微服务微服务总体架构组件微服务网关服务发现与路由…

Qt隐藏x等边框

QtWidgetsApplication2::QtWidgetsApplication2(QWidget *parent): QWidget(parent) {ui.setupUi(this);this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowMinMaxButtonsHint); }

C#检查服务状态,以及进行服务启停

1. linux环境 linux环境通过执行bash命令直接执行&#xff1a; public string RunCmdLinux(string cmd){var proc new Process();System.Console.Write($"Run Linux cmd > [{cmd}] START!");proc.StartInfo.CreateNoWindow true;proc.StartInfo.FileName &…

自动驾驶学习笔记(九)——车辆控制

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo Beta宣讲和线下沙龙》免费报名—>传送门 文章目录 前言 控制器设计 比例积分微分控制 线性…

java拼图游戏(待优化)

启动类 package com.yx.ui;public class App { //启动入口public static void main(String[] args) {//如果想要开启一个界面&#xff0c;就创建谁的对象 // new DengJFrame(); // new ZCJFrame();new GameJFrame();}}游戏类 package com.yx.ui;import java.awt.event.KeyEv…

JDK1.5 新特性【反射】

前言 今天复习一下反射&#xff0c;说是复习&#xff0c;基本上已经忘干净了&#xff0c;只知道用Spring、Mybatis、JavaFX 的时候加个注解&#xff0c;具体原理就不知道了。所以必须再深入学习一下。 1、设计一个框架&#xff1f; 设计一个框架需要什么技术&#xff1f; 反…

ESP32 Arduino实战协议篇-低功耗蓝牙 (BLE)

ESP32 不仅配备 Wi-Fi,还配备蓝牙和低功耗蓝牙 (BLE)。这篇文章简要介绍了 ESP32 的 BLE。首先,我们将探讨什么是 BLE 以及它的用途,然后我们将使用 Arduino IDE 查看 ESP32 的一些示例。为了简单介绍,我们将创建一个 ESP32 BLE 服务器,以及一个用于查找该服务器的 ESP32 …