最大化 AIX 上的 Java 性能,第 2 部分: 速度需求
2008-11-10 08:26:34 来源:WEB开发网在 cpu 部分,如果 wa(I/O 等待)非常高,这可能指示磁盘瓶颈,并且您应该使用 iostat 和其他工具来查看磁盘使用情况。
pi、po(页面调入/调出)列中的值不为零可能指示系统在使用分页,您可能需要更多的内存。也许您设置的堆栈大小对于某些 JVM 实例来说可能太高了。这还可能意味着您分配的堆大于系统上的内存量。当然,您可能还有其他使用内存的应用程序,或者文件页可能占据了太多的内存。
iostat
可以使用 iostat 获取 vmstat 所提供的相同 CPU 信息,此外还可以获取磁盘 I/O 等信息。
ps
ps 是一个非常灵活的工具,用于确定正在系统上运行的程序和那些程序正在使用的资源。它显示有关系统上的进程的统计和状态信息,例如进程或线程 ID、I/O 活动、CPU 和内存使用。ps -ef | grep java
此命令将允许您确定所有活动 Java 进程的 ID。许多其他命令要求您首先确定进程 ID;使用 -ef 将通过显示其命令行参数来帮助您区分多个 Java 进程。
ps -p PID -m -o THREAD
使用感兴趣的 Java 进程的 PID(进程 ID),您可以检查已创建了多少个线程。这对于希望监视某个大型应用程序的情况尤其非常有用;您可以通过 wc -l 对上述输出进行管道传输,以获得 JVM 创建的线程数量。这可以在一个循环中进行,以便您能够检测某些线程是否在不应该启动或终止的时候启动或终止了。
ps au[x]
对于获取 %CPU 和 %Memory 数据(按使用量最多的用户排序)非常有用。这对于快速定位系统上的瓶颈非常有用。
ps v[g]
显示虚拟内存使用情况。请注意,监视本机和 Java 堆的首选方法是使用 svmon。本系列的第 3 部分将对此进行详细阐述。
更多精彩
赞助商链接