当前位置: 技术问答>linux和unix
我的linux程序在运行的时候占用内存不断增大是为什么?
来源: 互联网 发布时间:2016-08-14
本文导语: 如题,我的程序大概运行一段时间后就会被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 大概是这样。 然后我查看了当前的内存,还...
如题,我的程序大概运行一段时间后就会被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后,就会出现前面的提示,并终止了程序。然后可用内存就又恢复原值了。
这个到底是什么原因啊?
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
你这是VC啊??HDC??
哈哈。。
恰巧我之前也有遇到关于HDC内存泄露的。
解决和分析方法见我博客
http://blog.csdn.net/feiyinzilgd/archive/2010/03/20/5399324.aspx
|
嵌入式
现在都往嵌入式跑,僧多粥少······
gdbserver可以实现远程调试。
但是,我还是建议你这种情况,写一个小代码,不用你的嵌入式的资源总可以吧?你在虚拟机的linux,画图
什么的,测试你的程序中可能出现问题的地方。
我一般发现嵌入式目标平台如果gdbserver不好调试的话,我就写一个小测试代码,不用嵌入式的那些资源
专门测试可能出现问题的地方,这样,比较简便,灵活。
现在都往嵌入式跑,僧多粥少······
gdbserver可以实现远程调试。
但是,我还是建议你这种情况,写一个小代码,不用你的嵌入式的资源总可以吧?你在虚拟机的linux,画图
什么的,测试你的程序中可能出现问题的地方。
我一般发现嵌入式目标平台如果gdbserver不好调试的话,我就写一个小测试代码,不用嵌入式的那些资源
专门测试可能出现问题的地方,这样,比较简便,灵活。
|
内存泄露。
这个是最合理的解释。
这个是最合理的解释。