计算机科学中,资源泄漏是指计算机程序不释放自己已获得的资源,导致资源被白白浪费。这种情况通常是由程序中的错误造成的。典型的资源泄漏包括内存泄漏句柄泄漏英语Handle leak[1]。其他操作系统可用的有限资源有网络插座文件描述符行程进程ID

资源泄漏有时不过是一个小问题,最多会导致程序运行速度下降并在进程终止后再运行程序时速度可以恢复。在其他情况下,资源泄漏可能会造成严重影响,例如导致饥饿和系统卡顿严重或不稳定,进而造成系统崩溃。[2]在短时间运行时间下,资源泄漏通常不会被注意到,当系统长时间运行时资源泄漏造成的问题就会凸显出来。 [3]同样地,对于数量非常少的可用资源,资源泄漏的问题尤其要注意。有时黑客就是利用资源泄漏这一问题发动拒绝服务攻击(例如Fork炸弹)。

参考文献 编辑

  1. ^ Deitel, Harvey M.; Deitel, Paul J., C# for Programmers 2nd, Prentice Hall Professional: 443, 2005 [2015-11-15], ISBN 9780132465915, (原始内容存档于2021-09-11) .
  2. ^ Russinovich, Mark; Solomon, David; Ionescu, Alex, Windows Internals, Part 1 6th, Pearson Education: 279, 2012 [2015-11-15], ISBN 9780735671300, (原始内容存档于2021-08-28) .
  3. ^ Gregory, Kate, Using Visual C++ 6, Que Publishing: 590, 1998, ISBN 9780789715395 .