内存泄露会导致程序可用内存耗尽,然后崩溃

以前虽内存泄漏不以为然,因为在几个G内存的电脑上,忘了delete一个对象,能占多大点内存啊?

结果这次出问题了,我的程序彻夜运算,每次执行10遍任务后,程序就会崩溃,一开始根据打印的日志,还以为是自己没有正确载入图片,并且还怀疑到回调函数/刷新函数/锁机制/多线程同步等等,全都怀疑上了。后来发现一个特点,每次程序崩溃的时候,所占用的内存都是1.47G,而且执行任务期间使用的内存稳定增长,从不下降,这才有了初步的认识,原来是内存泄漏搞的鬼(虽然到现在都没有具体找到哪段代码产生的内存泄漏)。还有单次执行任务的时候,从不崩溃,这只能说明是执行后累计的结果。再有就是,使用索引的时候不会出现这种情况,加深了我疑虑,因为两种运行情况下,所使用的回调函数/刷新函数/锁机制/多线程机制等等,都是相同的。

 

说起来,32位程序可用的内存挺可怜的,只有区区1.47G。以前总是不明白为什么要是有64位程序,现在算是明白了一点。

你可能感兴趣的:(内存泄露会导致程序可用内存耗尽,然后崩溃)