Chinaunix首页 | 论坛 | 博客
  • 博客访问: 537731
  • 博文数量: 120
  • 博客积分: 3030
  • 博客等级: 中校
  • 技术积分: 1445
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-05 01:00
文章存档

2011年(1)

2009年(2)

2008年(32)

2007年(33)

2006年(52)

我的朋友

分类: LINUX

2007-08-24 16:48:26

   这几天发现频繁的进行kmalloc会产生问题 ,kfree掉后发现top上显示的可用内存会减少 ,好像内存泄露的样子 ,但是根据我自己统计的malloc内存数量和free内存数量却是完全相等的
   所以我怀疑,使因为我频繁的使用了kmalloc和kfree,这样因为linux本身也是实现了段页管理的 。所以可能会产生碎片导致系统无法回收内存
   还有一种可能就是top显示的信息不准确 ,并没有马上将我释放的内存显示在 free里面 。 郁闷 因为在内核态,目前还没有找到合适的查找内存泄露的工具 ,突然好怀恋几年前用过的memwatch了 。那可真是个好东西呵呵
  
阅读(1718) | 评论(2) | 转发(1) |
给主人留下些什么吧!~~

chinaunix网友2008-07-29 15:34:48

每秒一次,这个速度并不频繁啊 ,不知道你的具体情况也不好做判断呵呵 ,最好的办法 ..... 每次kmalloc的时候做统计 ,每次free的时候也做统计 ...,最后计较结果是否一致 . top显示的内容是不准确的 ,确定泄露需要准确的数据

kwest2008-07-05 01:48:21

握手! 最近我也遇到这个问题,有个driver的ioctl实现用的就是kmalloc/kfree,而我正好需要频繁地(每秒一次)调用ioctl以获取driver中的信息,结果用free命令发现几乎每秒内存就会损失掉4k。请问兄弟你后来是如何解决这个问题的?