终极指南:什么是内存泄漏以及如何修复它?

已发表: 2023-09-24
内容
  • Windows 中什么是内存泄漏?
  • 如何检查内存泄漏
  • 内存泄漏是坏事吗?
  • 是什么导致内存泄漏?
  • 如何修复 Windows 上的内存泄漏
    • 1. 关闭占用系统内存的应用程序并重新启动计算机
    • 2.禁用启动程序
    • 3. 更新您的操作系统和设备驱动程序
    • 4.调整您的计算机以获得最佳性能
    • 5. 清除分页文件
    • 6. 检查是否存在恶意软件
    • 6. 检查内存问题
  • 结论
  • 常问问题
    • 如何查找内存泄漏?
    • 内存泄漏的主要原因是什么?
    • 为什么内存泄漏很糟糕?
终极指南:什么是内存泄漏以及如何修复它?

内存泄漏是导致电脑速度变慢或完全崩溃的众多问题之一。 它们很难被发现,并且在您解决问题之前可能会造成严重损坏。

这个问题的微妙和难以捉摸的性质是每当用户的计算机运行速度非常慢时总是提醒用户检查内存泄漏的原因之一

推荐:为什么你的 Windows PC 这么慢:修复它的最佳软件工具

本文将告诉您什么是内存泄漏、它们发生的原因以及如何检查它们。 我们还编译了不同的分步过程,向您展示如何阻止内存泄漏

Windows 中什么是内存泄漏?

内存泄漏是指不必要的系统内存损失。 该问题并不意味着您的 RAM 棒的容量突然减少。

相反,这是操作系统无法找到足够的空间来将新程序加载到内存的情况。

您的 CPU 依赖系统内存来保存它需要处理的服务和程序的数据。 可用 RAM 空间越大,可以毫无问题地运行的程序就越多。

但是内存泄漏会耗尽该可用空间,直到什么都没有剩下。 当程序或进程收集内存分配并在使用后拒绝放弃时,就会发生这种情况。 该程序可能会继续占用更多空间,直到耗尽系统内存。

在其他情况下,拒绝释放其分配意味着当您加载更多程序时,系统可使用的内存更少。

内存泄漏不仅仅影响您的物理内存。 Windows 使用硬盘上的页面文件来补充物理内存。 因此,程序也可以占用虚拟内存空间并拒绝归还。

如何检查内存泄漏

如果您突然无法启动新程序,您的计算机可能会发生内存泄漏。 当前打开的应用程序也可能开始崩溃或停止响应。

随着问题恶化,您的计算机可能会发送系统内存不足的警告。 当您转到任务管理器并检查 RAM 使用情况时,您可以发现内存泄漏

任务管理器中的内存指示器的读数可能接近 100%。


另请阅读:终极指南:如何使用 Windows 任务管理器设置优先级


请按照以下步骤通过任务管理器检查 RAM 使用情况:

  • 右键单击任务栏中的“开始”图标,然后从菜单中选择“任务管理器”。 在 Windows 10 上打开任务管理器

  • 在“进程”选项卡下,查看内存部分以检查内存使用情况。
  • 您还可以转到“性能”选项卡并单击“内存”以获取有关计算机当前如何使用系统内存的更详细报告。 您可能会注意到,Windows 已开始使用相当大的页面文件(硬盘中的虚拟内存)来补偿内存泄漏。

任务管理器内存


另请阅读:如何在 Windows 10 中清除 RAM 并减少 RAM 使用


内存泄漏是坏事吗?

如果您的系统内存较大,您可能会继续使用计算机一段时间而不会注意到任何问题。


另请阅读:如何检查 Windows 10 PC 和 MAC 上有多少 RAM


也就是说,内存泄漏从来都不是一件好事。 它们表明存在严重问题。 您可能需要修复或替换在使用后拒绝释放内存分配的应用程序和进程。

如果允许问题继续存在,可能会导致最终的致命错误。

每个系统进程都需要内存才能工作。 因此,如果关键的 Windows 进程迫切需要使用内存,您可能会遇到错误。

是什么导致内存泄漏?

许多系统和应用程序问题都可能导致内存泄漏。 如果第三方程序的编程出现问题,则可以保留其内存分配。 由于尚未解决的错误,系统服务和进程也可能占用系统内存。

恶意软件是导致该问题的另一个可能原因。 一些恶意应用程序旨在劫持内存块并运行数小时。


另请阅读:恶意软件的迹象:如何知道您的计算机是否被感染


该问题的其他可能原因包括RAM 模块故障和设备驱动程序故障。

如何修复 Windows 上的内存泄漏

修复内存泄漏涉及消除问题的根本原因。 如果客户端应用程序耗尽内存,您只需将其关闭即可。

也就是说,如果问题是由于有问题的系统进程或服务、设备驱动程序、恶意软件或有故障的 RAM 模块造成的,情况就不同了。

仔细应用一系列的故障排除方法,直到系统再次开始正常运行。

1. 关闭占用系统内存的应用程序并重新启动计算机

修复内存泄漏最有效的方法之一是终止拒绝释放其内存分配的应用程序或进程。 您可以通过任务管理器或资源监视器来执行此操作。

让我们从任务管理器开始:

  • 点击 Ctrl+Shift+Esc 快捷键。
  • 如果您只看到任务管理器的最小视图,请单击更多详细信息。

任务管理器更多详细信息

  • 接下来,单击显示内存使用百分比的单元格,提示任务管理器根据应用程序当前使用的系统内存量来排列应用程序。 占用内存最多的应用程序将显示在顶部。

任务管理器 谷歌浏览器

  • 现在,右键单击该应用程序并选择结束任务。

任务管理器结束任务

  • 您还可以尝试关闭与该程序关联的其他应用程序和服务。 为此,请右键单击该程序,选择“转到详细信息”,在“详细信息”选项卡下再次右键单击该程序,然后单击“结束进程树”。

任务管理器 Google Chrome 结束任务

  • 关闭任务管理器并重新启动 Windows 以检查是否解决了内存泄漏问题。

请按照以下步骤使用资源监视器:

  • 转到“开始”菜单,键入“资源”,然后单击“资源监视器”。

Windows 10 资源监视器

  • 资源监视器打开后,切换到内存选项卡。 该选项卡显示不同的值,详细说明每个进程当前如何使用系统内存:

硬故障/秒:每个进程必须从硬盘驱动器上的虚拟内存空间获取内存块的实例。

提交:Windows 为进程保留的虚拟内存量(以千字节 (KB) 为单位)。

工作集:进程当前使用的物理内存(实际 RAM)量(以 KB 为单位)。

可共享:应用程序或进程可以与其他进程和程序共享的物理 RAM 量。

Private :应用程序或进程当前保留的物理内存量,不能被任何其他进程使用。

资源监视器内存使用情况

  • 检查使用率最高的应用程序,右键单击它,然后选择结束进程。 单击“结束进程树”将终止该应用程序及其相关进程和服务。 结束进程树 Windows 10
  • 关闭资源监视器并检查问题。

2.禁用启动程序

启动程序被配置为在 Windows 启动时运行。 这些程序是第一个获得系统内存份额的程序,因为它们是在电脑启动后加载到内存中的。

一个或多个程序可能会继续保留其分配,从而导致计算机出现问题。 如果您在打开计算机后遇到令人痛苦的系统速度缓慢的情况,则启动程序可能是导致问题的原因。


另请阅读:如何加快 Windows 10 启动速度并让您的电脑启动更快


您可以通过“设置”应用程序禁用启动应用程序。 按着这些次序:

  • 启动“设置”窗口。
  • 单击设置主页上的应用程序。
  • 接下来,在 Windows 10 中选择左侧边栏上的启动。在 Windows 11 中,单击应用程序页面底部的启动。

Windows 10 设置 应用程序 启动

  • 启动应用程序出现在启动页面下后,您可以使用每个应用程序旁边的开关来禁用它们。

启动应用程序 Windows 10 和 Windows 11

  • 您现在可以重新启动计算机。

了解更多:如何在 Windows 10 中禁用启动程序


3. 更新您的操作系统和设备驱动程序

设备驱动程序是控制硬件组件在 Windows 中工作方式的软件程序。 只要 Windows 需要它们,它们就会被加载到内存中。

Windows 上的不同设备和系统使用不同的驱动程序其中一些称为内核模式驱动程序,它们与操作系统运行在同一内存空间中。 另一个常见的驱动程序类别称为用户模式驱动程序,它们由用户在不同会话期间触发的驱动程序组成。

如果驱动程序变得不稳定、损坏或过时,它们可能会限制其他程序对系统内存的访问。

您可以更新 Windows 和设备驱动程序来解决这些软件应用程序导致的内存泄漏问题。

要更新 Windows 请打开“开始”菜单,键入“更新”,然后单击“检查更新”结果。

检查更新

确保允许 Windows 下载并运行每个可用更新。 这样,它就可以安装可能导致泄漏的不同系统应用程序的最新版本。

我们还建议您安装可选功能和质量更新。

Windows 更新需要重新启动

您可以按照我们有关如何更新 Windows 上的设备驱动程序的完整指南来使您的驱动程序保持最新。


另请阅读:如何回滚 Windows 10 中的任何驱动程序


使用自动驱动程序更新程序

使用Auslogics Driver Updater,您可以消除一一检查驱动程序的压力 该工具会自动扫描您的所有设备驱动程序,以查找出现故障和过时的程序。 之后,它可以同时下载并安装多个设备的官方驱动程序。

4.调整您的计算机以获得最佳性能

该解决方案允许您通过削减使操作系统流行的图形相关功能来释放系统内存空间。

如果被禁用的美观组件是造成内存泄漏的原因,那么它可以永久解决问题。 也就是说,许多用户发现它很有帮助,因为它确保他们可以继续工作。

按着这些次序:

  • 使用 Win+E 键盘快捷键打开 Windows 文件资源管理器。
  • 右键单击左侧导航窗格中的“此电脑”,然后选择“属性”。

这台电脑属性

  • 您的系统的“关于”页面现在将打开。
  • 在 Windows 10 中,转到左侧窗格并单击高级系统设置。 如果您运行的是 Windows 11,请单击“设备规格”下的“高级系统设置”。

高级系统设置 Windows 10 和 Windows 11

  • “系统属性”窗口打开后,单击“性能”下的“设置”。
  • 现在,选择调整为最佳性能,然后单击确定按钮。

性能选项调整以获得最佳性能

  • 请注意,某些图形设置(例如动画和过渡)将被关闭。

自动优化您的计算机

不需要的临时文件、未使用的程序,甚至剩余的注册表项之类的东西仍然会占用内存空间并降低您的电脑速度。

Auslogics BoostSpeed可以帮助您挖掘并摆脱这些物品以改进您的系统。 该应用程序包含大量系统优化工具,可以整理您的计算机并提高其性能。

让我们了解一下可以帮助您阻止内存泄漏并提高 PC 速度的功能。

内存优化

在这种情况下,程序的内存优化工具是最相关的。 您可以转到“优化”选项卡并启用它。 一旦打开,它将监视您的电脑如何分配内存,并确保程序按其应有的方式使用其分配的内存。 它显示释放的内存大小以及释放时间。

使用 Auslogics BoostSpeed 13 优化 PC 内存

启动计划管理

启动管理器显示所有启动程序以及您在任务管理器和 Windows 设置中找不到的其他详细信息。 它告诉我们每个应用程序的类别以及它是否值得信赖。 您可以使用它来禁用和启用这些应用程序以释放内存空间。

Auslogics BoostSpeed 启动管理器

清理

“清理”选项卡可以帮助您删除不需要的项目,例如空文件夹、重复文件和可能会降低电脑速度的临时文件。 它还可以向您显示您可能从未在电脑上注意到的未使用的应用程序。 这样,您就可以删除可能妨碍计算机运行的多余项目。

Auslogics BoostSpeed 13 清理

自动扫描

当您继续使用计算机时,它总是会积累垃圾和剩余文件。 这些项目随着时间的推移而增长,从而导致问题。 但有了 Auslogics BoostSpeed,您可以确保这种情况永远不会发生。 该工具允许您安排扫描和清理,以便在有问题的项目影响您的电脑速度之前将其清除。

您可以通过转到仪表板、切换到高级模式并选择我的调度程序来访问调度程序。

使用 Auslogics BoostSpeed 13 设置自动系统维护

使用各种工具

该程序还提供一系列其他工具,例如磁盘碎片整理程序、注册表清理程序、Windows Slimmer 和文件恢复,以帮助您使您的 PC 运行得更好。 您可以在仪表板上和“所有工具”选项卡下访问这些工具。 您还可以探索该程序以查找其他有用的功能,这些功能将重新定义您与 PC 交互的方式。

使用 Auslogics BoostSpeed 13 保持最佳 PC 性能

5. 清除分页文件

正如前面提到的,Windows在硬盘上创建一个分页文件来充当虚拟内存。 操作系统创建虚拟内存来补充 RAM。 这样,它可以将程序数据保存到硬盘驱动器的受保护部分,从而提高系统性能。

也就是说,内存泄漏也可能发生在虚拟内存中。 Windows 向每个应用程序提交一定量的分页文件,以释放物理内存空间。 某些应用程序可能会拒绝放弃这些已提交的页面文件资源并导致泄漏。

您可以通过清除页面文件并允许 Windows 重新创建它来解决该问题。

按着这些次序:

  • 使用 Win+E 键盘快捷键打开 Windows 文件资源管理器。
  • 右键单击左侧导航窗格中的“此电脑”,然后选择“属性”。
  • 您的系统的“关于”页面现在将打开。
  • 在 Windows 10 中,转到左侧窗格并单击高级系统设置。 如果您运行的是 Windows 11,请单击“设备规格”下的“高级系统设置”。
  • “系统属性”窗口打开后,单击“性能”下的“设置”。
  • 转到“性能”对话框中的“高级”选项卡,然后单击“虚拟内存”下的“更改”。
  • 取消选中“自动管理所有驱动器的分页文件大小”旁边的框。
  • 之后,选中“无分页文件”复选框,然后单击“设置”。
  • 在打开的对话框中单击“确定”并重新启动计算机。

系统属性 无页面文件

  • 现在,返回“虚拟内存”对话框并允许 Windows 自动管理页面文件大小。

您还可以将操作系统配置为在关闭计算机时自动清除页面文件。 这样,它可以创建新的页面文件并减少内存泄漏的机会。 关机后清除虚拟内存还可以提高安全性,因为它会清除硬盘驱动器中的敏感信息。

您将通过本地组策略编辑器应用修复程序。 如果您运行的是 Windows 10 或 Windows 11 家庭版,您将无法访问此工具。

按着这些次序:

  • 打开“开始”菜单并输入“组编辑器”。
  • 单击编辑组策略。
  • 在左侧导航窗格中,转到计算机配置 > Windows 设置 > 安全设置 > 本地策略 > 安全选项。
  • 单击“安全选项”并转到屏幕右侧。
  • 滚动浏览策略并双击“关机:清除虚拟内存页面文件”。

本地组策略编辑器 Windows 10

  • 选择启用并单击确定按钮。

清除虚拟内存页面文件

6. 检查是否存在恶意软件

如果任何恶意程序已渗透到您的计算机,它可能已占用大量系统内存空间并拒绝释放它。 某些应用程序被设计为将这种行为作为其恶意活动的一部分。

使用更新的防病毒程序运行全面扫描可以帮助您清除恶意软件并解决问题。

这些步骤将向您展示如何使用 Windows 安全运行扫描:

  • 打开开始菜单并输入“病毒”。
  • 单击“病毒和威胁防护”结果。
  • 选择当前威胁概述下的扫描选项。

病毒和威胁防护扫描选项

  • 选择“全面扫描”并单击“立即扫描”开始该过程。

Windows 10 全面安全扫描

  • 扫描可能需要一段时间,因为它将搜索用户和系统文件以搜索恶意程序。

另请阅读:如何预防恶意软件:锁定您的在线安全


6. 检查内存问题

您现在可能想要接受使用坏内存条的想法。 但现在是面对现实的时候了。 内存泄漏是一个内存问题,因此检查系统内存背后的硬件是有意义的。

您可以使用 Windows 内存诊断工具来运行测试并检查您的 RAM 模块是否存在问题。

您还可以运行其他第三方测试,例如 Memtest86+。

如果您发现任何内存条有任何问题,请务必更换它。


另请阅读: [已解决] Windows 内存诊断工具检测到的硬件问题


结论

内存泄漏仍然是最难查明的 Windows 问题之一,但其影响可能非常普遍且难以忍受。 您可以通过远离恶意软件、定期更新 Windows 和设备驱动程序以及不时关闭计算机来防止将来出现此问题我们还建议您使用 Auslogics BoostSpeed,以便您的计算机可以获得所需的日常维护。

常问问题

如何查找内存泄漏?

您可以检查任务管理器以查看内存使用情况以及正在使用该资源的应用程序。

内存泄漏的主要原因是什么?

当程序在使用内存分配后拒绝释放它们时,就会发生内存泄漏。

为什么内存泄漏很严重?

内存泄漏可能会降低您的计算机速度、导致应用程序冻结、触发错误并使您的电脑崩溃。