busybox存在内存泄漏?

[复制链接]
3362|6
 楼主| 火箭球迷 发表于 2010-8-12 10:14 | 显示全部楼层 |阅读模式
刚开始一直以为是自己的驱动的问题,第一次执行驱动的测试程序时都会少固定的28K内存,更有甚者100多K是“肉包子打狗”.
   后来发现每次运行busybox-1.11.1里的命令时,也会少固定的4K内存。以为是这个版本的bug,重新交叉编译了万工(osboy)提供的1.8.1版本的busybox时,问题依然存在。

   换用BSP里的内核image和根文件系统(0.64.0),并不存在这个问题。使用BSP里的内核image和我的根文件系统就会少内存。应该不会是内核里的问题。

   是free蒙蔽了我的双眼,还是busybox偷走了我的内存!有人在使用万工提供的busybox吗?你们是否也存在这个问题? 引用:
root:~> free
              total         used         free       shared      buffers
  Mem:        27544        10032        17512            0          708
Swap:            0            0            0
Total:        27544        10032        17512
root:~> pwd
/
root:~> free
              total         used         free       shared      buffers
  Mem:        27544        10036        17508            0          708
Swap:            0            0            0
Total:        27544        10036        17508
root:~>
dfsa 发表于 2010-8-12 15:19 | 显示全部楼层
不应该有这个问题的
dfsa 发表于 2010-8-12 15:21 | 显示全部楼层
你运行起来的时候,执行cat /proc/meminfo看看内存空间,然后执行命令看看还会少么?
 楼主| 火箭球迷 发表于 2010-8-13 13:57 | 显示全部楼层
还是存在这样,memory还是每个命令减少4K!
引用:
root:~> cat /proc/meminfo   
        total:    used:    free:  shared: buffers:  cached:
Mem:  28205056 10268672 17936384        0   724992   806912
MemTotal:        27544 kB
MemFree:         17516 kB

root:~> echo

root:~> cat /proc/meminfo
        total:    used:    free:  shared: buffers:  cached:
Mem:  28205056 10272768 17932288        0   724992   811008
Swap:        0        0        0
MemTotal:        27544 kB
MemFree:         17512 kB

root:~> df
Filesystem           1k-blocks      Used Available Use% Mounted on
rootfs                    1475      1475         0 100% /
/dev/root                 1475      1475         0 100% /
/dev/mtdblock1            3072      1704      1368  55% /apps
/dev/mtdblock2            1024       196       828  19% /info
192.168.1.15:/usr/local/src/image
                      50395008   5431744  42403296  11% /media/nfs
root:~> cat /proc/meminfo
        total:    used:    free:  shared: buffers:  cached:
Mem:  28205056 10276864 17928192        0   724992   815104
Swap:        0        0        0
MemTotal:        27544 kB
MemFree:         17508 kB
 楼主| 火箭球迷 发表于 2010-8-13 13:57 | 显示全部楼层
每次少的那固定4K(4096,一个子不多,一个子不少)都跑到cached里去了。
如果如busybox里所说,可是在我们的AMR9+linux上并不存在这个问题。
引用:
>: free
              total         used         free       shared      buffers
  Mem:        62488         7680        54808            0         1148
Swap:            0            0            0
Total:        62488         7680        54808
>: dmesg
<5>Linux version 2.6.12 (root@localhost.localdomain) (gcc version 3.4.1) v1 Sat Aug 30 15:00:26 CST 2008
<4>CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)
>: free     此时并没有归还内存
              total         used         free       shared      buffers
  Mem:        62488         7708        54780            0         1148
Swap:            0            0            0
Total:        62488         7708        54780
>:   过了一会儿
>: free   现在再看,内存已经回来了
              total         used         free       shared      buffers
  Mem:        62488         7680        54808            0         1148
Swap:            0            0            0
Total:        62488         7680        54808若果真如此,需要我们在内核里配置打开相应选项(存在乎!)么?

2.4.20的内核,何时才会免费帮busybox善后?
心里很不踏实啊........
pkat 发表于 2010-8-13 14:06 | 显示全部楼层
这内存泄露的的确很恐怖
秋天落叶 发表于 2010-8-13 14:49 | 显示全部楼层
内存泄露是一个很常见的问题,一般是空间没有及时释放引起的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:姚明的铁杆球迷

150

主题

3470

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部