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

我的linux程序在运行的时候占用内存不断增大是为什么?
如题,我的程序大概运行一段时间后就会被OOM终结,提示:
Out of memory, kill process 172
Out of memory, kill process 173
Out of memory, kill process 174
Out of memory, kill process 175
大概是这样。
然后我查看了当前的内存,还是挺多的,怎么会不够?
后来我把程序在后台运行,然后不断用free命令查看当前内存情况,发现可用内存在不断减少,已用内存不断增多,当可用内存为接近0后,就会出现前面的提示,并终止了程序。然后可用内存就又恢复原值了。

这个到底是什么原因啊?

------解决方案--------------------
内存泄露。


这个是最合理的解释。
------解决方案--------------------
噢,my lady gaga!

你这是VC啊??HDC??

哈哈。。

恰巧我之前也有遇到关于HDC内存泄露的。

解决和分析方法见我博客

http://blog.csdn.net/feiyinzilgd/archive/2010/03/20/5399324.aspx




------解决方案--------------------
嵌入式




现在都往嵌入式跑,僧多粥少······


gdbserver可以实现远程调试。

但是,我还是建议你这种情况,写一个小代码,不用你的嵌入式的资源总可以吧?你在虚拟机的linux,画图

什么的,测试你的程序中可能出现问题的地方。

我一般发现嵌入式目标平台如果gdbserver不好调试的话,我就写一个小测试代码,不用嵌入式的那些资源

专门测试可能出现问题的地方,这样,比较简便,灵活。