JVM调优方法笔记
1、性能工具介绍
- jvisualvm
- jmap
- jstat
- jstack/threaddump
- jprofiler
- jmeter
2、性能调优4步骤
- 重现问题
- 定位问题
- 模拟问题
- 解决问题
http://download.oracle.com/javase/1.5.0/docs/tooldocs/share/jstat.html#gccause_option
3、GC的运作方式
- 1、GC的算法
- 复制(Copying)
- 标记-清除(Mark-Sweep)
- 标记-清除-整理(Mark-Sweep-Compact)
- 2、三种垃圾收集器
- Serial GC
- Parallel GC/Parallel Old GC
- Concurrent Mark-Sweep GC (CMS)
- 3、分代垃圾收集和GC的分类
- Minor GC
- Full GC
4、GC参数调节
- GC的调优准则
- Throughput
- Pause time
- TPS
- 调优的手段
- 各代的大小
- GC的算法
- GC的调优观察
- Jstat
- gc log
- Jvisualvm tracer
- GC 调优文档
- http://java.sun.com/docs/hotspot/VMOptions.htmlhttp://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
5、OutOfMemory分析方式
分类:Heap OOM,Perm OOM,Stack Overflow,Native OOM,Swap OOM
方式1:使用如下方式到处Heap
- Heap dump
- Java5:jmap -heap:format=b <pid>
- Java6: jmap -dump:format=b,file=heap.bin <pid>
- -XX:HeapDumpPath=/home/nasdaq/a.hrof -XX:+HeapDumpOnOutOfMemoryError
方式2:Profiler的检测
JVM调优方法笔记的更多相关文章
- JVM调优- 学习笔记(转)
http://blog.csdn.net/fenglibing/article/details/6321453 GC学习笔记 这是我公司同事的GC学习笔记,写得蛮详细的,由浅入深,循序渐进,让人一看就 ...
- 一次JVM调优的笔记
1. JVM Tuning基础知识 1.1 Java堆结构 Java堆可以处于物理上不连续的内存空间上,只要逻辑上是连续的即可.Java堆就是各种对象分配和保存的内存空间,线程间共享.Java堆分为E ...
- sql调优方法实用性总结(一)
1.选择最有效率的表名顺序(只在基于规则的优化器): Oracle的解析器按照从右向左的顺序处理FROM子句中的表名,FROM子句中写在最后的表将被最先处理(基础表先处理,driving table) ...
- JVM调优参数、方法、工具以及案例总结
这种文章挺难写的,一是JVM参数巨多,二是内容枯燥乏味,但是想理解JVM调优又是没法避开的环节,本文主要用来总结梳理便于以后翻阅,主要围绕四个大的方面展开,分别是JVM调优参数.JVM调优方法(流程) ...
- 生产环境下JVM调优参数的设置实例
JVM基础:生产环境参数实例及分析 原始配置: -Xms128m -Xmx128m -XX:NewSize=64m -XX:PermSize=64m -XX:+UseConcMarkSweepGC - ...
- 一文带你深入了解JVM性能调优以及对JVM调优的全面总结
目录 JVM调优 概念 基本垃圾回收算法 垃圾回收面临的问题 分代垃圾回收详述1 分代垃圾回收详述2 典型配置举例1 典型配置举例2 新一代的垃圾回收算法 调优方法 反思 一.JVM调优的一些概念 数 ...
- JVM调优方法
目 录 目 录 I 诠释JVM调优 1 第1章 JVM内存模型及垃圾收集算法 1 1.1 根据Java虚拟机规范,JVM将内存划分为 1 1.2 垃圾回收算法 1 第2章 内存泄漏及解决方法 2 2. ...
- JVM调优常用参数配置
堆配置 -Xms:初始堆大小 -Xms:最大堆大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值.如:为3表示年轻代和年老代比值为1:3,年轻代占 ...
- JVM底层原理及调优之笔记一
JVM底层原理及调优 1.java虚拟机内存模型(JVM内存模型) 1.堆(-Xms -Xmx -Xmn) java堆,也称为GC堆,是JVM中所管理的内存中最大的一块内存区域,是线程共享的,在JVM ...
随机推荐
- Iscsi技术
Iscsi技术 1案例1:发布iSCSI网络磁盘 1.1问题 本 ...
- golang 性能测试 (1)
本文介绍golang 如何做基准性能测试. 编写完代码除了跑必要的单元测试外,还需要考虑代码跑起来的性能如何.性能的衡量其实就是程序运行时候进程的内存分配,CPU消耗情况. golang 语言在提供了 ...
- Vulnhub DC-4靶机渗透
信息搜集 nmap -sP 192.168.146.0/24 #扫网段看看存活的主机,找到靶机 nmap -sS -Pn -A 192.168.146.141 可以看到开放了22和80端口,那么就可以 ...
- flask 入门 之 Python Shell (二)
创建迁移仓库: 1.安装工具: pip install flask_migarte 2.代码: #encoding:utf-8 from flask_sqlalchemy import SQLAlch ...
- Linux kernel min/max宏
#define min(x,y) ({ \ typeof(x) _x = (x); \ typeof(y) _y = (y); \ (void) (&_x == &_y); \ _x ...
- Java14:你需要知道的新特性
基本介绍 2020 年 3 月 17 日,JDK / Java 14 正式 GA(General Available).这是自从 Java 采用六个月一次的发布周期之后的第五次发布. 此版本包含的 J ...
- SpringMVC框架详细教程(四)_使用maven导入各个版本的Spring依赖包
使用maven导入Spring依赖包 上一节讲了如何向动态Web项目添加下载的Spring依赖包,作为补充下面列出了如何使用 maven 导入Spring的依赖包,可以选择需要的导入(推荐)或者全部导 ...
- Docker php安装扩展步骤详解
前言 此篇,主要是演示docker-php-source , docker-php-ext-install ,docker-php-enable-docker-configure 这四个命令到底是用来 ...
- AJ学IOS 之tableView的下拉放大图片的方法
AJ分享,必须精品 一:效果 tableview下拉的时候上部分图片放大会 二:代码 直接上代码,自己研究吧 #import "NYViewController.h" //图片的高 ...
- 1 - Apache HttpClient 简单使用
Apache HttpClient 是Apache 开源的实现Http协议的java开源库. HttpClien 是客户端的HTTP通信实现库,实现HTTP GET 和POST请求,获取响应内容. A ...