日期:2014-05-16  浏览次数:20704 次

程序占用很大的内存
一个在solaris下的程序,运行很长时间, 占用的内存很大,约2G, 用purify查不出内存泄漏。
solaris的内存管理机制是等到系统的内存比较小时,才启动page scanner线程进行回收。所以怀疑
我的程序并没有占2G,只不过程序释放的内存没有被solaris回收而已。
我的问题是怎样才能看到程序真实占用的内存是多少, 已经释放但没有被solaris回收的内存是多少?
用相关的命令吗? 谢谢。

------解决方案--------------------
不是很清楚, 关注, 帮顶

学习
------解决方案--------------------
占用的内存是一直在增加么?还是一直固定在2G?如果是前者,很有可能是内存泄露,任何内存检查工具不是所有的泄露情况都能检查出来的。
------解决方案--------------------
同步下sync命令试试..
------解决方案--------------------
SYNC试下,不是很懂

帮顶
------解决方案--------------------
正常现象吧.
------解决方案--------------------
在new的地方做上记录,释放时也记录下,然后看看是怎么回事

------解决方案--------------------
应该正常的,看你系统有设置缓存阀值是不是很大..
------解决方案--------------------
用dtrace动态跟踪