gc-关于Jstat的内存回收数量查看

问题描述

关于Jstat的内存回收数量查看

想请教下关于jstat查看gc回收的内存数量的问题,比如下面这行:
S0 S1 E O P YGC YGCT FGC FGCT GCT

0.00 49.18 48.97 71.34 73.49 122 9.685 32 11.204 20.889
0.00 0.00 22.59 54.86 73.49 123 9.812 33 11.413 21.225
可见发生了一次Young Gc和一次full Gc, Survival的百分比从 49.18% 降到 0.00%, O从71.34降到54.86,因此回收的内存量是:
(假设NGCMX :1048576 OGCMX :2097152 )
YoungGc: 1048576.0 *49.18%约为515.7MB
OldGC: 2097152 *(71.34-54.86) = 345.6MB
请问我的理解对不对呢? 谢谢

时间: 2025-01-21 19:37:25

gc-关于Jstat的内存回收数量查看的相关文章

java内存回收机制

引言  Java的堆是一个运行时数据区,类的实例(对象)从中分配空间.Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new.newarray.anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放.一般来说,堆的是由垃圾回收 来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存的有限性,JVM在实现的时候都有一个由垃圾回收所管理的堆.垃圾回收是一种动态存储管理技术,它自动地释放不再

Android 操作系统的内存回收机制

Android APP 的运行环境 Android 是一款基于 Linux 内核,面向移动终端的操作系统.为适应其作为移动平台操作系统的特殊需要,谷歌对其做了特别的设计与优化,使得其进程调度与资源管理与其他平台的 Linux 有明显的区别.主要包含下面几个层次: Application Framework Application Framework 将整个操作系统分隔成两个部分.对应用开发者而言,所有 APP 都是运行在 Application Framework 之上,而并不需要关心系统底层的

Java的内存回收机制

原文地址:http://www.cnblogs.com/xiaoxuetu/archive/2013/03/29/2987805.html 在Java中,它的内存管理包括两方面:内存分配(创建Java对象的时候)和内存回收,这两方面工作都是由JVM自动完成的,降低了Java程序员的学习难度,避免了像C/C++直接操作内存的危险.但是,也正因为内存管理完全由JVM负责,所以也使Java很多程序员不再关心内存分配,导致很多程序低效,耗内存.因此就有了Java程序员到最后应该去了解JVM,才能写出更高

图文详解java内存回收机制_java

在Java中,它的内存管理包括两方面:内存分配(创建Java对象的时候)和内存回收,这两方面工作都是由JVM自动完成的,降低了Java程序员的学习难度,避免了像C/C++直接操作内存的危险.但是,也正因为内存管理完全由JVM负责,所以也使Java很多程序员不再关心内存分配,导致很多程序低效,耗内存.因此就有了Java程序员到最后应该去了解JVM,才能写出更高效,充分利用有限的内存的程序.  1.Java在内存中的状态  首先我们先写一个代码为例子: Person.java package tes

gc.collect能不能指定回收哪个对象?C#中什么方法可以指定回收一个对象?

问题描述 gc.collect能不能指定回收哪个对象?C#中什么方法可以指定回收一个对象? gc.collect能不能指定回收哪个对象?C#中什么方法可以指定回收一个对象? 解决方案 不可以,你不能控制gc回收什么对象,事实上也没有意义. 解决方案二: 这是系统提供的回收内存的接口,不是回收某个变量的.你最好是看看帮助文档. 解决方案三: gc只能触发垃圾回收 至于回收什么对象 系统有自己的回收机制

并行编程中的内存回收Hazard Pointer

感谢同事[kevinlynx]在本站发表此文 接上篇使用RCU技术实现读写线程无锁,在没有GC机制的语言中,要实现Lock free的算法,就免不了要自己处理内存回收的问题. Hazard Pointer是另一种处理这个问题的算法,而且相比起来不但简单,功能也很强大.锁无关的数据结构与Hazard指针中讲得很好,Wikipedia Hazard pointer也描述得比较清楚,所以我这里就不讲那么细了. 一个简单的实现可以参考我的github haz_ptr.c   原理 基本原理无非也是读线程

gc-通过Java RMI的定时GC触发,JVM垃圾回收就无法自动触发FULL GC了吗?

问题描述 通过Java RMI的定时GC触发,JVM垃圾回收就无法自动触发FULL GC了吗? Java RMI的定时GC触发机制,可通过:-XX:+DisableExplicitGC来禁止或通过 -Dsun.rmi.dgc.server.gcInterval=3600000来控制触发的时间. 那么问题来了堆栈内存满了,是否就不会自动触发FULL GC了. 目前系统几次宕机,看内存监控均为堆栈满了,但是没能触发FULL GC. 看应用服务启动配置中有Dsun.rmi.dgc.server.gcI

《Windows 8 权威指南》——2.5 Windows 8 Metro应用内存回收机制

2.5 Windows 8 Metro应用内存回收机制 Windows 8 权威指南 微软在新一代的Windows 8中引入了全新的Metro界面,在Metro界面中拥有许多应用程序.针对这些应用的功耗问题,微软采取了特别优化策略,即应用被挂起之后,并不会使用CPU,从而使CPU进入低功耗状态,这时暂停的应用则会被保存在内存之中.本节将简要介绍Metro应用的内存回收机制. 首先来看看被保存在内存之中暂停的Metro应用.Metro应用与桌面应用程序不同,不管是否在前台显示,它经常会处于挂起的状

Android操作系统之内存回收策略_Android

Android 是一款基于 Linux 内核,面向移动终端的操作系统.为适应其作为移动平台操作系统的特殊需要,谷歌对其做了特别的设计与优化,使应用程序关闭但不退出,并由操作系统进行进程的回收管理.本文在 Application Framework 与 Linux 内核两个层次上,以进程为粒度,对 Android 操作系统的进程资源回收机制进行了剖析.读者可以从本文获得对 Android 应用程序的生存周期的进一步理解,从而更加合理.高效地构建应用程序. Android 操作系统中的内存回收可分为