内存泄漏
编辑在计算机科学中,内存泄漏是一种资源泄漏,当计算机程序以不再释放不再需要的内存的方式错误地管理内存分配时,就会发生这种情况。当对象存储在内存中但运行代码无法访问该对象时,也可能发生内存泄漏。内存泄漏的症状类似于许多其他问题,通常只能由有权访问程序源代码的程序员诊断。
当计算机程序使用的内存超过必要时,就会发生空间泄漏。与从不释放泄漏的内存的内存泄漏相反,空间泄漏消耗的内存被释放,但比预期的要晚。
因为它们会在应用程序运行时耗尽可用的系统内存,所以内存泄漏通常是软件老化的原因或促成因素。
内存泄漏的后果
编辑内存泄漏会通过减少可用内存量来降低计算机的性能。最终,在最坏的情况下,过多的可用内存可能会成为分配全部或部分系统或设备停止正常工作,该应用程序失败,或者系统xxx减缓了因颠簸。
内存泄漏可能不严重,甚至无法通过常规方法检测到。在现代操作系统中,应用程序终止时会释放应用程序使用的普通内存。这意味着可能不会注意到程序仅运行很短时间的内存泄漏,而且很少发生。
更严重的泄漏包括:
- 程序运行时间较长,并且随着时间的推移会占用更多内存,例如服务器上的后台任务,但尤其是在可能会运行多年的嵌入式设备中
- 经常为一次性任务分配新内存的位置,例如渲染计算机游戏或动画视频的帧时
- 程序可以请求 不释放的内存(例如共享内存)的地方,即使程序终止也是如此
- 内存非常有限的地方,例如在嵌入式系统或便携式设备中
- 操作系统或内存管理器中发生泄漏的位置
- 当系统设备驱动程序导致泄漏时
- 运行在不会在程序终止时自动释放内存的操作系统上。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/116258/