首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
PowerPC
» Memory Analyzer(及其 IBM Extensions 插件)为何不再只用于内存泄露(3)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
Memory Analyzer(及其 IBM Extensions 插件)为何不再只用于内存泄露(3)
发短消息
加为好友
look_w
当前离线
UID
1066743
帖子
8283
精华
0
积分
4142
阅读权限
90
在线时间
233 小时
注册时间
2017-6-23
最后登录
2019-5-18
论坛元老
UID
1066743
1
#
打印
字体大小:
t
T
look_w
发表于 2018-8-13 21:15
|
只看该作者
Memory Analyzer(及其 IBM Extensions 插件)为何不再只用于内存泄露(3)
在 Memory Analyzer 中使用 IBM Extensions“总是启动” 的扩展有些 IBM 扩展 “总是启动”,即各种视图显示关于一个与其地址相邻的对象的额外信息。例如,在图 4 显示的用例中,选中的对象现在描述 MemoryStore 中有多少会话,以及那些会话针对哪些 web 应用程序。IBM Extensions 添加会话的数量和应用程序名称,以便立即描述内存使用的起源。
图 4. Memory Analyzer 的 Overview 选项卡显示一个大对象
在 Dominator 树视图(共同保留整个 Java 堆的一列对象),类加载器分组使用它加载的类的描述替代类加载器的名称。例如,图 5 中选中的类加载器显示它是 PlantsByWebSphere web 应用程序的类加载器。
图 5. 按照 IBM 产品扩展的类加载器分组的 Dominator Tree
下拉菜单扩展有几个 IBM 扩展是可执行查询,可以在 Query Browser 下拉菜单中找到。IBM Extensions 位于 IBM Extensions 类别下,细分为 3 个子类别:Java SE Runtime、CICS Transaction Gateway 和 WebSphere Application Server(见图 6)。
图 6. Open Query Browser Button 展开一个通往 IBM 产品扩展查询的上下文菜单
目前可用以下查询:
Java SE 运行时
Java Overview
提供一个 Java 运行时和流程摘要,包括供应商、版本、操作系统、Java 主目录、类路径和命令行。
DirectByteBuffers
生成两个报告:一个摘要,包含 DirectByteBuffer 实例的数量、它们的关联内存以及它们的服务对象;一个表,包含每个单独的 DirectByteBuffer 实例。
List All Objects
生成堆上的每个 Java 对象的列表,最初按照各个对象的大小排序。
List All GC Roots
生成所有垃圾收集根的列表,并列示从 Java 堆外部(比如线程或 JNI 代码等区域)引用的对象,这些对象充当垃圾收集确定哪些 Java 对象仍然被 Java 应用程序使用的出发点。
Export Object
支持将一个对象图作为文本表示写入一个文本文件。
Calculate Naive Retained Heap Size
计算一个指定对象保留(或引用)的所有对象,忽略其中有些对象可能还别应用程序的其他部分引用这个事实。
CICS Transaction Gateway
Overview
提供一个 CICS Transaction Gateway 基本概览,包括版本和构建信息、正在使用的配置、以及所有环境变量集的列表。
Active Conversations
提供 CICS Transaction Gateway 中的所有活动 IPIC 对话、它们当前拥有的会话及其状态。
Requests
提供 CICS Transaction Gateway 中已经处理或正在处理的 ECI 请求对象。
Statistics
提供 CICS Transaction Gateway 记录的统计数据的一个选择。
WebSphere Application Server
WAS Overview
提供一个 WebSphere Application Server 运行时摘要,包括产品和版本、服务器名称、节点、单元以及已部署应用程序的状态。
WAS Cache Analysis
提供应用程序服务器提供的缓存的摘要,显示它们的大小、占用率以及保留的内存。
Web Container Analysis
提供已部署 web 应用程序的细目、它们的地址、以及与它们关联的 HTTP 会话的数量。
Thread Pool Analysis
提供应用程序服务器提供的线程池的表,其中包括:线程池配置、挂起线程的存在性和当前大小;还提供一个 Java 级线程组表,包括线程计数和关联内存量。
HTTP Sessions
生成内存中的每个 HTTP 会话的列表,总结应用程序名称、会话 ID、用户名、超时、以及创建时间和最好访问时间。另外,可以扩展任何 HTTP 会话,查看与会话本身关联的键和值。
EJB Container
提供应用程序服务器中部署的每种 EJB 类型的数量的一个简单细目。
Application Class Loader Leaks
列示所有应用程序类加载器,表明它们是否被停止,因此导致泄漏。可以使用这个查询来确定哪个应用程序有问题。
Alarm Manager
提供可延迟、不可延迟、已延迟以及未排队的警报的列表。
WebSphere eXtreme Scale
Priority Queue Runnables
发现 APAR PM30264 中描述的问题。
扩展实际应用WAS Overview 查询WAS Overview 查询是一个简单查询,显示当前运行的 WebSphere Application Server 的版本和补丁级别,服务器、节点和单元名称,推断的进程启动时间,以及所有应用程序及其运行状态的列表(见图 7)。这个查询可以通过导航到
Open Query Browser > IBM Extensions > WebSphere Application Server > WAS Overview
来访问。
图 7. WebSphere Application Server Overview 查询
HTTP Sessions 查询一类常见问题与应用程序的 HTTP 会话使用相关。除 OutOfMemoryErrors 外,其他问题包括发现会话内容、超时值、会话标识符以及会话所属的应用程序。还有许多实现细节使得发现会话及其值并不容易。这些细节包括不同的产品版本的类名不同,一个会话有两个映射(一个映射用于持久会话,另一个映射用于非持久会话,这两个映射可能在单个会话中同时保持活动状态)。
HTTP Sessions 查询将所有这些信息都提取到一个树视图中(见图 8)。这个查询可以通过
Open Query Browser > IBM Extensions > WebSphere Application Server > HTTP Sessions
访问。图 8 中加点的行下面的列是上面的列的继续。
图 8. WebSphere Application Server HTTP Sessions 查询
每个会话对象都可以扩展,显示其 “键/值” 对。在图 9 中,会话中有 5 个属性。每个键都采用 sessN 形式,值是一个自定义对象。如果值不是 String,则可以展开行显示对象。
图 9. 带有一个已展开会话及其属性的 WebSphere Application Server HTTP Sessions 查询
这个插件还可用于 PHD 堆转储,但大多数元数据都会缺失,只显示属性的保留堆大小。
Application Class Loader Leaks 查询当应用程序重启但它们的类加载器没有清理时,将发生应用程序类加载器泄露。这种情况通常由一个应用程序引用引起,该引用从服务器中的其他地方(比如 ThreadLocals)引用应用程序。如果存在应用程序类加载泄露且应用程序重启次数达到一定数量,就可能会导致 Java 或原生 OutOfMemoryErrors。
Application ClassLoader Leaks 查询将找到所有停止的应用程序类加载器,询问可能导致类加载器不适合垃圾收集的可疑对象。这个插件处理 PHD 堆转储的效果同样好(见图 10)。可以通过
Open Query Browser > IBM Extensions > WebSphere Application Server > Application ClassLoader Leaks
访问此插件。
图 19. WebSphere Application Server Application ClassLoader Leaks 查询
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议