使用 AIX 性能工具发现与内存相关的问题
2009-09-09 00:00:00 来源:WEB开发网问题
在启动某个应用程序时,我们注意到内存被完全消耗光了。这个应用程序是系统中运行的惟一进程。另外,在执行手工事务时也会出问题,常常由于服务器没有响应而超时。
问题分析和解决
我们最初的想法是内存耗尽与这个应用程序有关。但是,使用性能工具进行检查之后,我们改变了想法。
在印度神话中,有一种名为 Sanjeevini 的药可以治愈几乎所有疾病。topas 就是性能工具中的 Sanjeevini。它提供所有系统资源的概况,可以作为性能分析的起点。对于我们的问题,它提供分析问题的基础。在我们第一次观察到这个问题时,topas 显示计算内存的总使用量达到 99%。与此同时,团队也观察到了执行手工事务时的问题。团队当时只执行与一个应用程序有关的测试。
因此,研究过程的下一步是停止应用程序,再次使用 topas 检查计算内存的状态。这时的计算内存是 78%。考虑到没有其他应用程序在运行,这个数字不正常,它向我们提示了新的思考方向。
有助于分析问题的其他工具还有 svmon、vmstat 和 vmo。
svmon 命令
svmon 命令是一个性能度量工具,它捕捉和分析虚拟内存的快照。
svmon -G 命令显示下面的全局内存报告。它显示系统中真实内存和虚拟内存的使用量和空闲量。
svmon -G
图 1. svmon 全局内存报告
内存报告表明,总内存量为 1998848 个页面(页面大小为 4K),使用了 1996881 个页面,1967 个页面空闲。
在上面的报告中,空闲页面数量为 1967,但是不能由此断定存在任何与内存相关的限制或内存瓶颈,因为为了提高 I/O 性能,如果应用程序或内核没有明确请求的话,AIX® 会用尽可能多的空闲内存进行文件缓存。另外,报告表明分页空间总量为 3145728 个页面,其中使用的分页空间为 99556 个页面。
- ››使用脚本恢复WinXP系统的用户登录密码
- ››使用phpMyadmin创建数据库及独立数据库帐号
- ››使用Zend Framework框架中的Zend_Mail模块发送邮件...
- ››使用cout标准输出如何控制小数点后位数
- ››使用nofollow标签做SEO的技巧
- ››使用 WebSphere Message Broker 的 WebSphere Tra...
- ››使用SQL Server事件探查器做应用程序的性能分析
- ››使用SQL Server事件探查器分析死锁原因
- ››使用纯文本文件打造WCF服务
- ››使用 Dojo 开发定制 Business Space 小部件,第 4...
- ››使用 ADDRESS 与 INDIRECT函数查询信息
- ››使用 COLUMN函数编制单元信息
更多精彩
赞助商链接