Java SE 6平台中提供了多种可观察性(observability)工具,这其中的许多工具都可在系统中运行,而这些工具中的只有极少数被用于挂起进程或核心复制处理。因此,在本文中,我们将分析这些可观察性工具在进程上的效果。
一、 在Java SE 6平台中的可观察性工具-DTrace
在Java SE 6软件中又引入了许多可观察性改进功能。尽管其中大多数可适用于所有的平台,但是其中的一些改进仅是特定于Solaris操作系统(特别针对Solaris 10及更高版本)的。在J2SE 5.0平台中,引入了一种新的动态跟踪(DTrace)行为——Jstack。正如我们已经了解的,Jstack能够打印混合模式堆栈跟踪信息(Java和本机C/C++语言是以帧方式显示的)。当从一个给定的Java进程中发出pollsys系统调用时,下列D脚本将输出对混合模式堆栈的跟踪信息:
#!/usr/sbin/dtrace -s
syscall::pollsys:entry
/ pid == $1 / {
/*打印至多50帧*/
jstack(50);
}
syscall::pollsys:entry
/ pid == $1 / {
/*打印至多50帧*/
jstack(50);
}

收藏到QQ书签