内存问题!

上一篇 / 下一篇  2007-07-06 09:28:08

转贴:内存问题主要有三种类型:内存泄露、内存碎片和内存崩溃。 1) 内存泄漏主要由于不断分配的内存无法及时被释放,久而久之,系统的内存耗尽。内存泄露问题一般隐藏很深,很难通过代码阅读来发现。有些内存泄露甚至可能出现在库中,可能是库中的bug,也可能是程序员对接口说明文档的错误理解。 2) 内存碎片比内存泄露隐藏还要深。随着内存的不断分配并释放,大块内存不断分解为小块内存,从而形成碎片,久而久之,当需要申请大块内存时,有可能就会失败。如果系统内存够大,那么坚持的时间会长一些,但最终还是逃不出分配失败的厄运。在使用动态分配的系统中,内存碎片经常发生。目前,解决这个问题最效的方法就是使用工具通过显示系统中内存的使用情况来发现谁是导致内存碎片的罪魁祸首,然后改进相应的部分。 3) 内存崩溃是内存使用最严重的结果,主要原因有数组访问越界、写已经释放的内存、指针计算错误、访问堆栈地址越界等等。这种内存崩溃造成系统故障是随机的,而且很难查找,目前提供用于排查的工具也很少。常见的内存不能读写等问题有软件故障,也有可能是硬件故障。

TAG:

 

评分:0

我来说两句

日历

« 2024-05-09  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 7827
  • 日志数: 13
  • 建立时间: 2007-05-07
  • 更新时间: 2007-07-11

RSS订阅

Open Toolbar