Hi,
下面是一张 Linux RedHat 系统的 top 结果,其中 PID 为 4561 (第一行)的
线程A (我将线程名隐藏了,因为不好公开名称)占了 1.3 GB 的内存,我想知道这 1.3GB 内存是怎么样来的,目的是想通过了解其内存使用情况,然后想办法减少内存的使用量。
版本 6.0 的描述:
上面这个图是我在 VMWare 里面安装的一个服务器应用系统(US 的产品),目前版本为 6.0 , 现在给 VM 是分配了 2GB 的内存,系统才能正常运行起来,如果是给 VM 1GB 的内存的时候,系统会直接在启动上面图中的 线程A 的时候整个系统都 Hang 住了不能动(等了很长时间也不能动).检查
版本 5.0 的描述: (作为一个对比)
以前在 VMWare 里面安装相同的这个服务器应用系统的时候,当时版本为 5.0,里面也是运行同一个这个 线程A ,在安装 5.0 版本的时候,给 VM 分配了 1GB 内存就可以直接运行得很畅顺了,还有很多多出来的内存。
目的:
请帮下忙看下如何检查线程 A 在版本 6.0 的时候,内存到底使用在哪里面去了,应该如何检查?是直接进 /proc 里面去看吗?还是有其他方法?
我已经试过以下方法:
在这个文件里面 /etc/security/limits.conf 加上下面两行:
* hard as 524288
* soft as 524288
想限制所有线程最大内存是 512 MB ,但是重启还是看到 1.3GB,是不是这种设置无效??还是使用的参数错了???
谢谢。