怎样才算是内存泄漏?怎样通过shell程序判断存在内存泄漏?

plxmbh 2006-03-07 09:52:06
1,某个程序,一直进程id没有改变,但是VSZ的数值一直慢慢增加,这可以判断为存在内存泄漏。
2,某个程序,时不时进程id会改变,而vsz的数值也在不断变化,有时候增多,有时候减少。这时候能够说这个程序存在内存泄漏吗?
如果,虽然有时候减少,有时候增多,但是总体趋势是增多的,是不是就可以判断存在内存泄漏?

上面我所理解的内存泄漏是否正确?
如何用一段shell程序,使用ps命令来长时间检测系统中运行的程序是否存在内存泄漏?

谢谢


不要使用一些另外的工具,比如Valgrind等
因为我这里并没有要监测的程序的代码
只能通过ps命令来查看,判断
谢谢
...全文
270 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
plxmbh 2006-03-07
  • 打赏
  • 举报
回复
通过ps可以看到vsz
如果在一段时间内vsz持续增加
那么不是可以判断存在内存泄漏么?
fierygnu 2006-03-07
  • 打赏
  • 举报
回复
1,某个程序,一直进程id没有改变,但是VSZ的数值一直慢慢增加,这可以判断为存在内存泄漏。
2,某个程序,时不时进程id会改变,而vsz的数值也在不断变化,有时候增多,有时候减少。这时候能够说这个程序存在内存泄漏吗?
===
都不能。这些也可能是正常的行为。
进程从操作系统获取了内存,不再需要却没有释放,就可以认为是内存泄漏,而且一般情况下这些内存都成了失踪人口,即进程里已经没有任何变量指向这些内存了。这也是一般工具判断内存泄漏的方法。
gettext 2006-03-07
  • 打赏
  • 举报
回复
只有进程自己知道有没有泄漏。
积木 2006-03-07
  • 打赏
  • 举报
回复
没办法,ps 就是让你看看的,没有办法检测泄漏。
zh1369 2006-03-07
  • 打赏
  • 举报
回复
没代码,怎么能知道有内存泄漏!!没办法!
tonyMCM 2006-03-07
  • 打赏
  • 举报
回复
我就是在进城管理器中 看的
plxmbh 2006-03-07
  • 打赏
  • 举报
回复
up

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧