JVM性能调优(out of memory内存溢出/泄露出来)
JVM基础知识:
JVM调优工具:
1.jmap
jmap常用参数
命令:jmap -heap PID >> D:\heap.log
解释:
using thread-local object allocation. --- 使用本机线程分配
Mark Sweep Compact GC --- 标记MSC GC(MSC是CMS GC算法的Full GC算法) Heap Configuration: ##堆配置情况
MinHeapFreeRatio = 40 ##最小堆使用比例(GC后,如果发现空闲堆内存占到整个堆的40%,则增大上限值)
MaxHeapFreeRatio = 70 ##最大堆可用比例(GC后,如果发现空闲堆内存占到整个堆的70%,则收缩上限值)
MaxHeapSize = 1073741824 (1024.0MB) ##最大堆空间大小 1G
NewSize = 1048576 (1.0MB) ##新生代分配大小 1M
MaxNewSize = 4294901760 (4095.9375MB) ##最大可新生代分配大小 4G
OldSize = 4194304 (4.0MB) ##老生代大小 4M
NewRatio = 2 ##新生代比例(新生代和年老代的堆内存占用比例, 例如:2表示新生代占年老代的1/2,占整个堆内存的1/3)
SurvivorRatio = 8 ##新生代与suvivor的比例(Eden与Survivor的占用比例。例如:8表示一个survivor区占用 1/8 的Eden内存,即1/10的新生代内存)
PermSize = 268435456 (256.0MB) ##perm区大小
MaxPermSize = 268435456 (256.0MB) ##最大可分配perm区大小 Heap Usage: ##堆使用情况
New Generation (Eden + 1 Survivor Space): ##新生代(伊甸区 + survior空间)
capacity = 322109440 (307.1875MB) ##新生代容量307M
used = 226237024 (215.75643920898438MB) ##已经使用大小215M
free = 95872416 (91.43106079101562MB) ##剩余容量91M
70.23607380150051% used ##使用比例70%
Eden Space: ##伊甸区
capacity = 286326784 (273.0625MB) ##伊甸区容量 273M
used = 206511520 (196.94473266601562MB) ##已经使用大小196M
free = 79815264 (76.11776733398438MB) ##剩余容量76M
72.12441571655413% used ##使用比例72%
From Space: ##survior1区
capacity = 35782656 (34.125MB) ##survior1容量 34M
used = 19725504 (18.81170654296875MB) ##已经使用大小 18M
free = 16057152 (15.31329345703125MB) ##剩余容量 15M
55.125879979395606% used ##使用比例55%
To Space: ##survior2区
capacity = 35782656 (34.125MB) ##survior2容量 34M
used = 0 (0.0MB) ##已经使用大小 0M
free = 35782656 (34.125MB) ##剩余容量 34M
0.0% used ##使用比例0%
tenured generation: ##老生代使用情况
capacity = 715849728 (682.6875MB) ##老生代容量 682M
used = 112533120 (107.3199462890625MB) ##已经使用大小 107M
free = 603316608 (575.3675537109375MB) ##剩余容量 575M
15.72021551428179% used ##使用比例15%
Perm Generation: ##perm区使用情况
capacity = 268435456 (256.0MB) ##perm区容量 256M
used = 83002880 (79.15771484375MB) ##已经使用大小 79M
free = 185432576 (176.84228515625MB) ##剩余容量 176M
30.920982360839844% used ##使用比例30%
JVM性能调优(out of memory内存溢出/泄露出来)的更多相关文章
- JVM性能调优(3) —— 内存分配和垃圾回收调优
前序文章: JVM性能调优(1) -- JVM内存模型和类加载运行机制 JVM性能调优(2) -- 垃圾回收器和回收策略 一.内存调优的目标 新生代的垃圾回收是比较简单的,Eden区满了无法分配新对象 ...
- JVM性能调优(4) —— 性能调优工具
前序文章: JVM性能调优(1) -- JVM内存模型和类加载运行机制 JVM性能调优(2) -- 垃圾回收器和回收策略 JVM性能调优(3) -- 内存分配和垃圾回收调优 一.JDK工具 先来看看有 ...
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
摘要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jstack.jmap.jhat.jstat.hprof等小巧的工具,本博客希望 ...
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解(转VIII)
JVM本身就是一个java进程,一个java程序运行在一个jvm进程中.多个java程序同时运行就会有多个jvm进程.一个jvm进程有多个线程至少有一个gc线程和一个用户线程. JDK本身提供了很多方 ...
- JVM 性能调优实战之:一次系统性能瓶颈的寻找过程
玩过性能优化的朋友都清楚,性能优化的关键并不在于怎么进行优化,而在于怎么找到当前系统的性能瓶颈.性能优化分为好几个层次,比如系统层次.算法层次.代码层次…JVM 的性能优化被认为是底层优化,门槛较高, ...
- JVM性能调优监控命令jps、jinfo、jstat、jmap+jhat、jstack使用详解
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jinfo.jstat.jmap+jhat.jstack等小巧的工具,本博客希望能起抛砖 ...
- 《转》:JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
原链接:https://my.oschina.net/feichexia/blog/196575 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 ...
- 【十一】jvm 性能调优工具之 jmap
jvm 性能调优工具之 jmap 概述 命令jmap是一个多功能的命令.它可以生成 java 程序的 dump 文件, 也可以查看堆内对象示例的统计信息.查看 ClassLoader 的信息以及 fi ...
- 【转】JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
http://www.cnblogs.com/therunningfish/p/5524238.html JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsol ...
- JDK自带JVM性能调优监控工具jps、jstack、jmap、jhat、jstat
原文地址:https://www.jianshu.com/p/db954cb968fb JVM性能调优监控工具jps.jstack.jmap.jhat.jstat位于JDK的bin目录,这些工具短小精 ...
随机推荐
- CAD安装失败怎样卸载CAD 2013?错误提示某些产品无法安装
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- GitKraken使用教程-基础部分(3)
5. 克隆服务器上的项目 首先,返回主界面,点击File => Clone Repo,选择 Clone with URL,如下图: 图 5‑1 SSH方式克隆仓库界面 1) SSH 方式连接仓库 ...
- vue学习笔记 vue
目前为止对vue完全懵逼. 对着菜鸟教程,现在我尝试梳理下. 服务我已经启起来.可以看到页面 在src/App.vue里面有展示模板<template></template> ...
- webgl学习总结画线面及场景和物体动
WebGL是在浏览器中实现三维效果的一套规范.是浏览器中的3D引擎,是利用js代码来实现加载3D模型,渲染.输出等功能,从而实现在浏览器和微信中浏览三维文件的效果. three.js是基于WebGL的 ...
- Hibernate系列3-----之修改
只是修改测试类,先看其他的代码的同学,请翻看我的博客Hibernate1,嘿嘿,我就在这不在重写一遍来 @Test public void testhibernate() { updateStuden ...
- AngularJS 指令解析(一)
AngularJS 指令解析(一) 前言 笔者AngularJS接触时间差不多是两年多,虽然这两年多AngularJS版本日新月异,但是笔者的版本是比较老的1.4.3,一方面是自己对这个版本比较熟悉, ...
- 缩小javascript文件大小之缩编、混淆
写前端的相信都遇到过要提高网页的性能,其中javascript文件越小,浏览器的下载速度面对文件的读取和解析就更快.而一般我们在开发又需要一定的代码规范来使我们的代码更加的容易维护和读懂,但是大量空格 ...
- python if else while for
1 getpass模块 设置密码不显示明文 用户名和密码输入程序: import getpass username = input("username:") password = ...
- tnagios - query handler
启动日志 [root@bjyh-48-86 nagios]# cat nagios.log [1433471109] Nagios 4.1.0rc1 starting... (PID=5136) [1 ...
- 【转】run方法与start方法的区别
在java线程中 start与run的不同start与run方法的主要区别在于当程序调用start方法一个新线程将会被创建,并且在run方法中的代码将会在新线程上运行,然而在你直接调用run方法的时候 ...