为什么在有足够可用 RAM 且 CPU 使用率低的情况下,Intel Core i3 处理器会变得非常慢?

为什么在有足够可用 RAM 且 CPU 使用率低的情况下,Intel Core i3 处理器会变得非常慢?

在运行 Windows 8.1 build 9600 的配备 Intel Core i3 和 4GB RAM 的计算机中,在我预计不会出现性能问题的条件下,它变得非常非常慢,并且接近冻结(甚至冻结)

参见底部的更新

状况:

  • 足够的可用 RAM
  • 足够的免费高清视频可供交换
  • 125-135 “过程”(*)
  • 没有 MySQL、PostgreSQL 等数据库服务,但有 Java 和 .NET 框架
  • 当我使用 Chrome 网络浏览器时,一些 I/O 意外出现峰值,并且由于可用 RAM,我并不期望进行交换

我猜想当线程数 >= 100 时“多任务处理”并不是那么好,但这是在具有 2 个内核的英特尔处理器中经验得出的。

问题:

  • 我还需要哪些信息才能对我的问题做出正确的猜测?
  • 增加 RAM(我不确定)能帮助我吗?也许可以减少交换的 I/O?
  • 具有更多内核的更好处理器?8 个内核?(内核数和线程限制之间是否存在线性关系?)

可能与以下相关: https://serverfault.com/questions/365061/high-load-average-low-cpu-usage-why

进程黑客截图: Process Hacker 截图

编辑:

作为 @罗兰·史密斯提示,Google Chrome 是一个消耗资源的怪物,我在 Chrome/Firefox 中做了以下实验:

  • 29 个标签
  • 或多或少相同的扩展(我可以禁用所有但我认为它不会改变太多)

测量两个 Web 浏览器中的 RAM / CPU 使用率:

Chrome:  116  threads / 2-12% CPU / 60-70% RAM

Firefox: 72 threads / 2-6% CPU / 39% RAM

Google Chrome 可以提高稳定性,并且非常流畅地为每个标签/扩展使用 1 个线程,但当你需要很多线程时,这绝对是一个缺点

答案1

在 Google Chrome 中,每个标签、网络应用和正在运行的扩展程序都有自己的进程(而不是线程)。在您的屏幕截图中,您可以看到这加起来有很多进程。每个进程都会消耗内存,并且必须与所有其他进程争夺 CPU 时间。

如果你有足够的流程,你可以每一个电脑慢。

关闭 Chrome 中的某些标签页和/或查看是否需要禁用某些扩展/插件。

如果屏幕截图中的内存使用情况正确,请先尝试添加更多内存。您的 CPU 使用率并没有那么高。

我有一个四核英特尔 CPU。在 FreeBSD 下,它通常可以毫无问题地运行 200 多个线程。内核数量限制了可以(或多或少)同时运行的线程数量。但由于您的 CPU 使用率较低(再次基于屏幕截图),我认为这不是问题。

答案2

虽然这个答案不适用于 OP,但我会保留这个答案以供将来的读者参考。

你的硬盘可能出现故障

  • 硬盘驱动器问题可能会导致 I/O 性能缓慢。如果介质正在降级,硬盘驱动器将反复尝试访问数据,这可能会导致访问数据时出现严重延迟。请使用以下程序晶盘信息检查硬盘的状态,并确保发布结果的图像。如果它显示警告或者坏的,您应该备份数据并尽快更换硬盘,因为硬盘可能很快就会出现故障,导致数据丢失。

升级内存和存储可能会有所帮助

  • 您的计算机有 4 GB 内存。虽然这可能足以处理您正在运行的所有应用程序,但由于没有太多可用内存,您的计算机仍然需要经常访问硬盘来启动应用程序或加载数据。Windows(和其他操作系统)使用可用内存从磁盘预加载数据,因此添加更多内存将允许更多数据存储在内存中并减少缓慢的磁盘访问。

  • 用 SSD 替换硬盘也会大幅提高性能。SSD 的速度比硬盘快得多,因为它们完全是电子的,不像硬盘那样依赖机械寻道来访问数据。但是,我认为在你的情况下,这不如内存升级重要,因为升级到 SSD 可能很昂贵,而且需要将数据迁移到新驱动器。

或者,您可以使用 Windows ReadyBoost 来提高性能

  • 如果以上升级均不可行,准备好提振可以使用 USB 闪存驱动器或其他闪存设备作为缓存来提高系统性能。ReadyBoost 利用闪存具有快速随机 I/O 性能这一事实来加快数据访问速度。

相关内容