我的计算机运行的是 Windows XP,并且只有 1GB 的 RAM。
启动一些大型应用程序(如 Eclipse 和 SQL Developer)后,计算机速度明显变慢。明显的症状是鼠标指针变得反应迟钝,需要 1-2 秒才能到达我想要的位置。
但是,关闭这些应用程序后,计算机仍然很慢,我需要重新启动计算机才能使其再次响应。它不能自行回收内存吗?
答案1
我同意西奈特检查 CPU 使用率多于检查内存使用率。
顺便说一句:Mark Russinovich 写了一篇关于“内存优化骗局 RAM 优化器做出虚假承诺”的优秀文章
http://www.windowsitpro.com/article/internals-and-architecture/the-memory-optimization-hoax
现在建议使用一个工具来了解您的电脑上正在运行什么以及每个进程占用了多少资源:
进程探索器 http://technet.microsoft.com/en-us/sysinternals/bb896653
[同样是 Mark Russinovich...] ;-)
希望这能有所帮助。请告诉我们。
答案2
您的计算机可能尚未释放内存。您可能会注意到,当您的计算机在虚拟内存和物理内存之间切换时,磁盘活动很多。释放内存可能需要一段时间,但确认已释放内存的一种方法是使用任务管理器。启动任务管理器并切换到进程选项卡。您可以按其中的任意列按升序或降序进行排序。
您要查看的是内存,如果您按排序显示使用最多内存的进程,它就会让您知道哪个进程正在耗尽内存。您还可以使用任务管理器中的“查看”菜单选择要显示的列(例如虚拟机大小)。如果您看到某个进程正在大量使用内存使用情况和虚拟机大小那么你可以相当有信心这可能是减慢你的机器速度。如果它不是一个关键服务,您可以终止该进程以查看是否有帮助。
您还可以查看免费工具拉姆冲刺可以强制清除应用程序关闭后尚未释放的内存。
答案3
页面文件
您的页面文件在哪里?
我会推荐将其放在专用卷上使其更快。理想情况下,你应该将它放在与操作系统安装的物理驱动器不同的物理驱动器上(只要它是较少的将其放在比操作系统驱动器更频繁使用的分区中)。如果这不可能,则至少将其放在自己的分区中(尽可能靠近驱动器的起始位置),以确保其保持无碎片。
当您最小化或闲置某个程序一段时间时,Windows将其内存调出到磁盘上的交换文件。当您关闭它时,即使该内存不在 RAM 中,也必须释放该内存(在这种情况下,必须在交换文件中将其标记为可用)。
通过优化交换文件,当您关闭占用大量内存的编程应用程序时,操作系统将能够在更合理的时间内从其他程序调回内存。
忙碌
除此之外,耐心也是一种美德。(我遇到过很多次这种情况——例如,在将程序设置为实时优先级的情况下对视频进行编码!——系统被某些东西卡住了,鼠标不仅冻结了,而且键盘甚至被锁定了,以至于 LED*-Lock不会改变,内置扬声器发出哔哔声。在大多数情况下,除非是完全崩溃的挂起,否则等待足够长的时间最终会解决问题——假设我有足够的耐心等待。)
中央处理器
就像我在第一条评论中说的那样。我会检查 CPU 使用率。虽然在释放内存时驱动器出现抖动是正常的,但它很少导致鼠标真正出现卡顿。这通常是由于高优先级进程占用了大量 CPU。检查任务管理器(或进程探索器您可以使用跟踪图 (https://www.microsoft.com/en-us/support/windows/docs ...tracking-graphs/) 来检查哪个进程正在占用 CPU,以帮助缩小问题范围。
如果占用 CPU 的进程是编程应用程序的(即应用程序已关闭,但进程仍在等待完成清理),则可以使用 TaskMan(或 ProcExp)将其设置为低优先级这样您可以在等待它完成时继续使用您的系统。
节流
我还想到,另一个可能导致此问题的原因是 CPU 节流。在关闭大型程序(如开发环境)后,系统会进行大量清理,因此请注意 CPU 使用率和温度。清理过程中是否使用了很多周期?温度会升高吗?也许主板配置为在达到特定温度后对 CPU 进行节流,从而导致所有的系统速度变慢,包括鼠标光标和键盘的响应能力。
答案4
很大程度上,问题在于系统尚未清理存储空间。您可能会注意到磁盘指示灯稳定亮起,因为系统正在尝试分页。
不完全确定为什么会发生这种情况——释放的存储空间不应该需要被调出。但我怀疑微软虚拟内存方案的“功能”与此有关。