观察NIO的direct memory使用量?(JDK7)_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 观察NIO的direct memory使用量?(JDK7)

观察NIO的direct memory使用量?(JDK7)

 2011/7/11 11:07:50  RednaxelaFX  http://rednaxelafx.iteye.com  我要评论(0)
  • 摘要:前一篇:观察NIO的directmemory使用量?前一篇说的是在当前的Oracle/SunJDK6上没啥好办法去监视NIO的directmemory使用量。不过这个问题在JDK7里其实已经有解决的。从JDK7build36开始就有了吧。解决的方式就是:给NIO也带上JMX的监控API。这才是正道啊!从JDK7版的java.nio.Bits源码里可以看到注册MXBean注册的代码。相关的MXBean有以下两个:1.objectName:java.nio:type=BufferPool
  • 标签:使用 jdk
前一篇:观察NIO的direct memory使用量?

前一篇说的是在当前的Oracle/Sun JDK6上没啥好办法去监视NIO的direct memory使用量。不过这个问题在JDK7里其实已经有解决的。从JDK7 build 36开始就有了吧。
解决的方式就是:给NIO也带上JMX的监控API。这才是正道啊!
从JDK7版的java.nio.Bits源码里可以看到注册MXBean注册的代码。

相关的MXBean有以下两个:
1. objectName: java.nio:type=BufferPool,name=direct
2. objectName: java.nio:type=BufferPool,name=mapped
两个的接口都是java.lang.management.BufferPoolMXBean。
(注:在这个更新之前,该接口是叫做java.nio.BufferPoolMXBean。如果读到较老的JDK7介绍文看到包名不一样的话,java.lang.management这个才是正式版会使用的版本。)

用法参考上面链接里的JavaDoc就好。获取这两个MXBean的实例的办法也跟其它MXBean差不多:
List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);


晒几张截图吧,JDK7 build 146里的JConsole:



  • 大小: 105.5 KB
  • 大小: 105.1 KB
  • 查看图片附件
发表评论
用户名: 匿名