Java技术,IBM风格: 监视和判断问题 - 编程入门网
。注意,IBM Diagnostics Guide 的第 32 章 “Tracing Java applications and the JVM” 详细讨论了所有跟踪选项。
将跟踪数据放进内部缓冲区中 使用存储内缓冲区进行跟踪是非常高效的,因为在探测到问题或者使用 API 将缓冲区写入文件之前,不执行显式的 I/O。缓冲区被分配给每个线程,这防止线程之间发生冲突并防止各个线程的跟踪数据相互干扰。例如,如果某个线程没有被调度,当转储缓冲区时它的跟踪信息仍然是可用的。 要查看跟踪数据,必须转储缓冲区并进行格式化。当发生以下情况时,自动进行缓冲区的转储: 发生未被捕捉的 Java 异常 发生操作系统信号或异常 调用 com.ibm.jvm.Trace.snap() Java API 调用 JVMRI TraceSnap 函数 将跟踪数据放进文件中 可以连续地将跟踪数据写到文件中,作为存储内跟踪的扩展;但是在这种情况下不是为每个线程分配一个缓冲区,而是至少分配两个。当一个跟踪缓冲区满了时,将它写到文件系统中,这使线程能够连续运行。根据跟踪量、缓冲区大小和输出设备的带宽,可以将多个缓冲区分配给给定的线程,从而与生成跟踪数据的速度相匹配。 要将 minimal 或 maximal 跟踪选项的输出写到文件中,应该使用 output 关键字,对于 exception 选项使用 exception.output 关键字: -Xtrace:maximal=all,output=trace.out 将跟踪数据写到文件 trace.out 中。 -Xtrace:maximal=all,output={trace.out,5m} 将跟踪数据写到文件 trace.out 中,当文件达到 5MB 时进行回绕。 -Xtrace:maximal=all,output={trace#.out,5m,5} 将跟踪数据依次写到 5 个文件中,每个文件 5MB,# 用文件的序号代替。在这个示例中,创建文件 trace0.out 到 trace4.out,每个文件包含最近的 5MB 跟踪数据。当 5 个文件都填满时,JVM 依次覆盖 trace0.out 到 trace4.out。这个选项可以创建的最大文件数是 36 个,# 字符被替换为 0 到 9,然后是 A 到 Z。 还可以在文件名中进行以下替换: %p:Java 进程的 ID。 %d:yyyymmdd 格式的当前日期。 %t:hhmmss 格式的当前时间。 对跟踪文件进行格式化 跟踪格式化器(trace formatter) 是一个可以在任何平台上运行的 Java 程序,可以对来自任何平台的跟踪文件进行格式化。IBM SDK 在 core.jar 中提供了这个格式化器,它还需要一个称为 TraceFormat.dat 的文件,其中包含格式化模板。这个文件在 jre/lib 中。可以用以下命令行启动跟踪格式化器:
在这里,com.ibm.jvm.format.TraceFormat 是跟踪格式化器类,input_file 是要进行格式化的二进制跟踪文件的名称,output_file 是可选的输出文件名。如果没有指定输出文件,那么默认的输出文件名是输入文件名加上 .fmt。 Java技术,IBM风格: 监视和判断问题(3)时间:2011-01-30 IBM Chris Bailey动态记录器 IBM VM 跟踪设施包含一个动态记录器(flight recorder),它连续地将来自关键跟踪点子集的数据捕捉到内存缓冲区中。当出现运行时问题时捕捉这些缓冲区,可以用来诊断问题并分析 VM 的历史。VM 初始化过程用一小组跟踪点启动跟踪,这些跟踪点被捕捉到回绕式存储内缓冲区中。可以使用这些信息初步诊断 Java 运行时中的任何问题,并确保 -verbose:gc 选项提供的数据子集总是可用的。垃圾收集数据也出现在 Java 转储文件中。 内部的动态记录器使用一个命令行选项:
如果在命令行上指定 -Xtrace,或者在属性文件中设置它,那么清除激活的跟踪点集。 方法跟踪 可以利用 Java 方法跟踪来跟踪每个线程对方法的调用,包括进入方法和退出方法,这种跟踪针对 Java 运行时的 IBM 实现上运行的任何代码进 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |