-
JVM-GC LOG 垃圾回收日志-27
情境导入
产线一个问题:业务系统调用后台超时,问是不是 FULL GC 的问题。
查看方式
知道 GC 文件的位置
···
locate xxx.log
···
知道如何查看 FULL GC 日志
cat /XXX/gc.log | grep -a 'Full'| more
简单分析
直接根据 full gc 的关键词查看。
一般在并发较高的系统中会出现...
2018-10-08 15:36:46 |
Java
-
jmap-查看 jvm 内存对象信息
jmap 概述
命令jmap是一个多功能的命令。
它可以生成 java 程序的 dump 文件,也可以查看堆内对象示例的统计信息、查看 ClassLoader 的信息以及 finalizer 队列。
参数
option:选项参数。
pid:需要打印配置信息的进程ID。
executable:产生核心dump的Java可执行文件。
core:需要打印配置信息的核心文件。
ser...
2018-10-08 15:36:46 |
Java
-
JVM-GC G1-26
带着问题学习
最近遇到很多朋友过来咨询G1调优的问题,我自己去年有专门学过一次G1,但是当时只是看了个皮毛,因此自己也有不少问题。总体来讲,对于G1我有几个疑惑,希望能够在这篇文章中得到解决。
G1出现的初衷是什么?
G1适合在什么场景下使用?
G1的trade-off是什么?
G1的详细过程?
如何理解G1的gc日志?
G1的调优思路?
从问题开始出发学习 serial
...
2018-10-08 15:36:46 |
Java
-
JVM-GC CMS-25
CMS 的问题
我觉得这些问题提的非常好,其实不看本篇解答,直接根据问题的角度去学习就足够了。
问题
带着问题去学习一个东西,才会有目标感,我先把一直以来自己对CMS的一些疑惑罗列了下,希望这篇学习笔记能解决掉这些疑惑,希望也能对你有所帮助。
CMS出现的初衷、背景和目的?
CMS的适用场景?
CMS的trade-off是什么?优势、劣势和代价
CMS会回收哪个区域的对象?
...
2018-10-08 15:36:46 |
Java
-
JVM-openjdk-24
openjdk
直接 github openjdk 下载源代码。
—— corba:不流行的多语言、分布式通讯接口
—— hotspot:Java 虚拟机
—— jaxp:XML 处理
—— jaxws:一组 XML web services 的 Java API
—— jdk:java 开发工具包
—— —— 针对操作系统的部分
—— —— share:与平台无关的实现
...
2018-10-08 15:36:46 |
Java
-
JVM-其他影响垃圾回收的因素-22
最终确定和弱,软和幻影引用
某些应用程序通过使用finalization和weak,soft或phantom引用与垃圾收集进行交互。
这些功能可以在Java编程语言级别创建性能工件。一个例子是依靠finalization来关闭文件描述符,这使得外部资源(描述符)依赖于垃圾收集的快速性。依靠垃圾收集来管理内存以外的资源几乎总是一个坏主意。
请参阅如何处理Java Finalization...
2018-10-08 15:36:46 |
Java
-
JVM-G1 垃圾收集器-21
Garbage-First Garbage Collector
Garbage-First(G1)垃圾收集器的目标是具有大量内存的多处理器计算机。它试图以高概率满足垃圾收集暂停时间目标,同时在几乎不需要配置的情况下实现高吞吐量。 G1旨在使用当前目标应用程序和环境提供延迟和吞吐量之间的最佳平衡,其功能包括:
堆大小最多为10 GB或更大,超过50%的Java堆占用实时数据...
2018-10-08 15:36:46 |
Java
-
JVM-CMS 垃圾收集器-20
最常见的 concurrent 收集器
大多数并发收集器同时执行部分工作到应用程序,因此他们的名字。 Java HotSpot VM包括两个主要并发的收集器:
并发标记扫描(CMS)收集器:此收集器适用于喜欢较短垃圾收集暂停且可以与垃圾收集共享处理器资源的应用程序。
垃圾优先(G1)垃圾收集器:此服务器式收集器适用于具有大量内存的多处理器计算机。它以高概率满足垃圾收集暂停时间目标,同时...
2018-10-08 15:36:46 |
Java