JVM内存优化——小试牛刀

    最近在拜读周志明的《深入理解Java虚拟机》,看了Java的内存管理机制以及Jvm优化相关内容。于是,下载了sun提供的Jvm检测工具VisualVm。

VisualVm下载地址:https://visualvm.java.net/
安装就很简单了,在此略过。
作者博客地址:http://icyfenix.iteye.com/
可以下载PDF版的《Java虚拟机规范 (Java SE 7 中文版)》

一、启动程序


1. 查看系统中运行的Java进程

左侧显示当前系统中运行的虚拟机进程,双击连接后可以监测虚拟机的运行状况。
这里写图片描述

2. 安装VisualGC插件

工具栏中“工具”→“插件”
这里写图片描述

由于我已经安装过了,如果没有安装,目录中会有VisualGC。该工具可以查看不同内存区域的使用情况和GC情况,效果如图

这里写图片描述


二、问题描述

使用jps命令,可以查看系统中运行的jvm进程

$ jps
2064 TestMain
1389 Main
2267 Jps
1009
287

忽然发现个奇特的东西,就是TestMain进程,这个名字好奇怪,不是我创建的,在“活动监视器”中搜了一下PID,发现是公司的Hosts管理工具。奇怪的是,一款小小的Hosts管理工具竟然使用了将近1.5G的内存,吓死宝宝了。

于是反应给工具维护人员,很快进行了优化,释放了无用内存。但是总的内存占用量仍然有700+M,在切换几次环境之后,会稳定到这个值。因为我在公共配置里添加了Google的Hosts内容,所有触发了这个问题。

这个内存占用量,是特别的高,显然不是开发人员设定的值,而是OS X Java Plugin的默认设置。这种工具,内存占用应该只是在100M以下,最后能做20-30M最好。


三、使用VisualVM监视工具内存使用情况

这里写图片描述

十分钟的内存使用情况:

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值