进程自省:我的应用程序在做什么? - developers_jw的个人空间 - ZDNet...

来源:百度文库 编辑:神马文学网 时间:2024/04/28 15:25:23

进程自省:我的应用程序在做什么?

2008-06-20 16:27:59 查看( 304 ) / 评论( 0 )

性能分析的下一步是弄清楚应用程序正在做什么。配置应用程序是一回事。检查应用程序是否真正接受了这些配置信息是另外一回事。以下工具将告诉您应用程序正在做什么。

Solaris 提供了一个大工具集,用于列出和控制进程。有关概述和详细描述,请参考 proc(1) 的指南页面。以下章节将介绍最为常用的命令行。

pgrep – 根据名称和其他属性查找进程

pgrep 命令根据名称和其他属性查找进程。为了做到这一点,pgrep 实用工具检查系统上的活动进程,并报告进程中属性匹配命令行中指定标准的进程 ID。每个进程 ID 均打印为一个十进制值,并使用定界符字符串(默认为一个新行)将其与下一个 ID 分隔。

pgrep – 根据名称和其他属性查找进程

pkill – 根据名称和其他属性报告进程

pkill 根据名称和其他属性报告进程。pkill 函数等效于 pgrep,不同点在于报告每个匹配进程的方式与 kill(1) 的结果相同,而不是打印其 ID。可以将一个名称或数字指定为 pkill 的第一个命令行选项。

pkill – 根据名称和其他属性报告进程

ptree - 打印进程树

ptree 打印进程的继承关系。为了做到这一点,它打印包含指定 pid 或用户的进程树,使子进程从其相应的父进程缩进。所有数字参数都作为进程 ID 处理,否则假定为用户登录名。默认为所有进程。

ptree – 没有选项

sta [Tools CD] – 打印进程树

sta 工具提供与 ptree 类似的输出。请参见以下运行示例。

sta – 示例输出

pargs - 打印进程参数、环境或辅助向量

pargs 实用工具检查目标进程或进程核心文件,并打印参数、环境变量和值,或者辅助向量。

pargs – 示例输出

pfiles – 报告进程中的开放文件

pfiles 命令报告每个进程中所有开放文件的 fstat(2) 和 fcntl(2) 信息。此外,如果信息可从 /proc/pid/path 获得,还将报告一个到文件的路径。这不一定是用来打开文件的那个名称。有关更多信息,请参见 proc(4)。

pfiles – 示例输出

pstack – 打印 lwp/进程堆栈跟踪

pstack 命令打印每个进程或每个进程中指定 lwps 的 hex+symbolic 堆栈跟踪。

注意:对 Java 进程应使用 jstack

pstack – 示例输出

jstack – 打印 Java 线程堆栈跟踪 [参见 $JAVA_HOME/bin]

jstack 命令打印给定 Java 进程、核心文件或远程调试服务器的 Java 线程的 Java 堆栈跟踪。对于每个 Java 窗体、完整的类名称、方法名称、'bci'(字节码索引)、行号,只要可用则都打印出来。

jstack – 示例输出

pwdx – 打印进程的当前工作目录

pwdx 实用工具打印每个进程的当前工作目录。

pwdx – 示例输出

pldd – 打印进程的动态库

pldd 命令列出连接到每个进程的动态库,包括使用 dlopen(3C) 明确附加的共享对象。另请参见 ldd(1)。

pldd – 示例输出

pmap - 展示有关进程地址空间的信息

pmap 实用程序打印有关进程地址空间的信息。默认情况下,pmap 按照实际的地址顺序展示所有映射到进程的映射关系。显示映射大小、标志和映射的对象名。

pmap – 默认输出

可以通过添加 -x 选项和 -s 选项提供扩展的输出,前者将提供有关每个映射的额外信息,后者将提供额外的 HAT 大小信息。

pmap – 扩展的输出

showmem [Tools CD] – 进程对私有内存和共享内存的使用率

showmem 实用工具包装 pmapps,以确定进程使用了多少私有和共享内存。

showmem – 示例输出

plimit - 获取或设置运行进程的资源限制

若使用第一种格式,plimit 实用工具将打印运行进程的资源限制。

plimit – 展示进程资源限制


若使用第二种格式,plimit 实用工具将设置进程 ID 列表(pid)中确定的进程的软(当前)限制和/或硬(最大)限制。举例来说,要将 trashapplet 进程(PID 为 897)的当前(软)核心文件限制为五 (5) MB,可以使用命令:plimit -c 5m,unlimited 897

plimit – 将当前(软)核心文件限制设置为 5 MB

注:本文翻译自 http://blogs.sun.com/partnertech/entry/solaris_performance_prime_process_introspection