关于内存一直减少的问题

vincent0401 2009-05-10 12:23:31
在Solaris上面写了网络的程序,用mdb中的::memstat 命令查看内存使用情况时,发现其中Free(freelist)的值一直在减少,这是说明可用内存在减少么?是内存泄漏?但程序ms没有什么问题,只是new delete倒是非常频繁。下面是memstat看到的情形:

Page Summary Pages MB %Tot
------------ ---------------- ---------------- ----
Kernel 78755 615 4%
Anon 74276 580 4%
Exec and libs 13221 103 1%
Page cache 143843 1123 7%
Free (cachelist) 105753 826 5%
Free (freelist) 1642428 12831 80%

Total 2058276 16080
Physical 2054336 16049

不知道是什么原因,还有哪位能指点下如何分析程序崩溃后的内核转储文件core?想分析core来看看程序到底哪里导致崩溃了
...全文
300 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
vincent0401 2009-05-14
  • 打赏
  • 举报
回复
具体怎么来跟踪anon段呢,能否说的详细点?
puheavy123 2009-05-14
  • 打赏
  • 举报
回复
strace跟踪一下anon看看他都调用了哪些东西
vincent0401 2009-05-14
  • 打赏
  • 举报
回复
程序白天运行了5个小时,发现Free (cachelist) 这一项一直在慢慢的增加,其他几项基本不动,但跑了一个晚上,早上一看,尽然说是bad-alloc,一查内存Free (cachelist) 使用了4g多,anon段也使用了4g多,晕啊,程序开始几个小时anon可只有几百m,疑惑中。。。。。 有谁说下solaris下是怎么消耗掉这些段的内存的么?
vincent0401 2009-05-11
  • 打赏
  • 举报
回复
谢谢上面的各位!
今天测试了下,发现anon这一项一直在增加,应该是内存泄漏的问题,后来修改了程序后发现在运行中page cache 会增加,这块page cache是做什么的呢?但不知道free(freelist)是否会一直减少到程序崩溃,今天晚上继续测试,看看运行情况
hotsolaris 2009-05-11
  • 打赏
  • 举报
回复
你提出了两个问题:

1. 如何判断应用程序是否存在内存泄露。
使用Solaris的dtrace可以解决你的问题。解决的方法不是唯一的,你可以参考下面的博客:
http://blogs.sun.com/smg/date/20040719#moving_on_with_dtrace_and

2. 如何调试core文件
在Solaris下,一般用mdb来调试应用程序,而使用kmdb来调试内核。如果你有core文件,
mdb core
就可以调试dump的文件了。关于mdb怎么使用,你在google上看看就知道了。
puheavy123 2009-05-10
  • 打赏
  • 举报
回复
free减少....你的可用内存不一定就减少。。。。有些程序。。。使用并释放内存,但释放到cache....供其他程序快速存取....所以说....free并不就代表了你的可用物理内存...
vincent0401 2009-05-10
  • 打赏
  • 举报
回复
明天回单位看看其他几块有没有多

还有有人知道怎么分析程序崩溃后生成的core文件么?
morris88 2009-05-10
  • 打赏
  • 举报
回复
先看看减少的部分到哪里去了...
lwh_1024 2009-05-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 puheavy123 的回复:]
free减少....你的可用内存不一定就减少。。。。有些程序。。。使用并释放内存,但释放到cache....供其他程序快速存取....所以说....free并不就代表了你的可用物理内存...
[/Quote]
的确,linux的确会这样,内存会不断减少,但是free一般都会减少到cached中。
建议LZ用free命令查看一下,很可能是这样的情况了
  • 打赏
  • 举报
回复
标准的未裁剪的内核应该不会出现这种情况啊。
频繁new delete是没问题的啊

1,543

社区成员

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

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