Windows,为什么您的8 GB RAM感觉只有几MB?

德斯蒙德·休姆(Desmond Hume)

我使用的是Windows 7 x64、4核Intel i7和8 GB的RAM,但是最近感觉就像我的计算机的“ RAM”仅位于硬盘驱动器上一样。

这是任务管理器显示的内容:

任务管理器截图

列表中的进程使用的内存总量仅为1 GB。而现在在我的计算机上发生的事情是,一个程序(Cataloger.exe)不断处理大量文件(每个文件接近5-10 MB),并重复打开和读取这些文件以进行分类。但是它不会在内存中增长太多,而是保持在100 MB左右的大小。但是,它在30分钟内处理的数据量可以以GB为单位。

所以我的猜测是Windows文件缓存与此有关。在对该主题进行了一些研究之后,我遇到了一个名为RamMap的程序,该程序在计算机的RAM上显示详细信息。这是屏幕截图:

RamMap屏幕截图

因此,对我来说,Windows似乎在RAM中保留了不再需要的大量数据,将所有RAM分配请求重定向到硬盘驱动器上的页面文件。即使关闭了Cataloger.exe,RamMap也会在很长一段时间内报告映射文件的大小大致相同。不仅是这个特定的程序。早些时候,我注意到在使用其他程序进行大量文件操作后,发生了类似的速度下降。因此,这实际上不是Cataloger.exe的异常行为,并且该问题在过去已经多次出现。

不管它是什么,它都会使计算机的速度降低50倍。在Chrome中打开新标签页需要20到30秒,而打开新程序则可能需要一分钟。由于速度变慢,某些程序甚至崩溃。

那么,您认为问题是隐藏在文件缓存中还是其他地方?我该如何解决?

达斯Android

这与往常一样,一切正常。Windows不会将缓存的文件保存在内存中,而不会覆盖其他数据-缓存的文件意味着Windows必须在某一时刻将它们加载到内存中或从磁盘中读取它们,并且从那时起还没有出现更高优先级的事情。只要您恢复使用计算机和程序请求的内存,Windows就会愉快地删除缓存的文件以腾出空间。

如果查看RAMMap,您会注意到大多数缓存的文件都在“待机”下分配-这意味着它被保存在内存中,因为Windows过去需要它,可能再次需要它,并且会很高兴地将其丢弃如果还有其他实际需要的空间。

基本上,您在这里看到的是您的程序请求加载大数据文件,因此Windows将其加载到内存中。管理内存是一个非常复杂的过程,Windows在幕后所做的事情就是做出判断:它查看了当前进程,发现Chrome正在占用,例如5GB的内存(很多标签!),但是在过去的一个小时里,大部分的记忆都没有被触及。此时,它可以选择:它可以将Chrome保留在内存中,而不缓存文件。这意味着Cataloger流程可能需要花费数小时而不是数分钟来处理文件,尤其是当它在文件中跳来跳去时,尤其如此。或者,它可以调出chrome标签页并将Cataloger文件加载到内存中,并快速完成该过程。

现在,当Windows必须将chrome重新分页到内存中时,您会感到痛苦,但是Windows直到您提出要求时才这样做(即,将chrome重新回到前台并选择一个已分页的选项卡),以及最终需要由您评估的是,痛苦的程度大于或小于必须等待其记忆的Cataloger任务的痛苦。您可以尝试将程序作为服务运行,并告诉Windows优化响应性,或者尝试降低进程优先级,但是我很确定您想要的是尽快使Cataloger进程完成-它使磁盘I / O最大化,整个系统将变得异常缓慢。所有需要磁盘I / O的内容都将放入队列(甚至是Web浏览-它也使用缓存!)。程序打开速度会很慢,


如果程序只是顺序读取文件,然后又不接触它们,则我同意Windows不需要缓存文件。这里的问题是Windows不知道,因为没有人告诉它不需要缓存。

如果您有权访问Cataloger程序的源代码(或可以要求对其进行修改),则可以将其配置为使用打开文件FILE_FLAG_NO_BUFFERING,这将导致Windows以这种方式跳过Windows对该程序打开的文件的磁盘缓存。 。

如果这不是一个选项,则除非编目过程中你的系统上运行,我环顾四周,看看是否有未使用的备用计算机,并查看它是否可以设置为专用机用于对这些文件进行分类。如果还没有,仅增加RAM可能是另一种选择。如今,内存价格相当便宜,并且开发人员知道这一点-大多数东西都以提高内存的速度和响应性为目标进行了优化。8GB不再是以前的水平。

另一个选择是将其使用的所有文件移动到单独的硬盘驱动器上,并特别关闭该驱动器的磁盘缓存。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当您的RAM少于4GB时,安装Windows 7 64位有什么好处吗?

来自分类Dev

为什么我购买的8GB RAM仅显示为6GB?

来自分类Dev

为什么250 GB三星SSD和130 GB可用磁盘上的可用收缩空间只有13286 MB?

来自分类Dev

为什么我不能使用我所有的8 GB RAM?

来自分类Dev

当我有16 GB RAM时,为什么Vim无法打开100 MB文本文件?

来自分类Dev

Windows仅看到768 MB RAM(4 GB)

来自分类Dev

ESXI仅4.7GB RAM可用于8GB RAM的VM。为什么这么少?

来自分类Dev

我有6 GB的RAM,现在Windows告诉我我只有2 GB。其他4个又去了哪里?

来自分类Dev

Windows 10:64 GB RAM可用,但仅32 GB可用

来自分类Dev

为什么我的程序在64 GB RAM系统上占用的RAM不超过2 GB?

来自分类Dev

如何欺骗Windows存储您拥有超过1GB的RAM

来自分类Dev

带有10 GB hardrive,8个CPU和4GB RAM的VM是否合理?

来自分类Dev

为什么Ubuntu仅显示3GB RAM?

来自分类Dev

为什么Ubuntu仅显示3GB RAM?

来自分类Dev

为什么32位进程的RAM限制为2 GB?

来自分类Dev

BIOS和Windows 7仅检测8GB中的4GB RAm

来自分类Dev

安装8GB RAM,获取黑屏

来自分类Dev

为什么系统说我的硬盘只有26GB

来自分类Dev

Windows 10保留4GB RAM

来自分类Dev

为什么 Windows 10 机器上的磁盘上有 5GB 的未分配空间?

来自分类Dev

为什么在没有进程报告写入的情况下,磁盘的写入速率高达几GB / s?

来自分类Dev

为什么从具有8GB堆的800MB索引中获取所有文档时有时会收到OOM?

来自分类Dev

有没有人成功地向Dell 0K0DNP MB添加了超过8GB的Ram?

来自分类Dev

我的交换文件在文件系统中总共有 9.2GB,而实际报告的只有 4.6GB。这是为什么?

来自分类Dev

将8gb的ram与4gb的ram混合在一起?

来自分类Dev

我的笔记本电脑应该支持16GB的RAM,但是据报道只有8GB(但是芯片和插槽都可以工作)

来自分类Dev

操作系统仅报告4.1GB的RAM,而不报告已安装的6GB ...为什么?

来自分类Dev

为什么安装NVidia 9600GT图形卡会从Windows占用1GB的RAM?

来自分类Dev

8GB RAM笔记本电脑上是否有超过265GB的内存?

Related 相关文章

  1. 1

    当您的RAM少于4GB时,安装Windows 7 64位有什么好处吗?

  2. 2

    为什么我购买的8GB RAM仅显示为6GB?

  3. 3

    为什么250 GB三星SSD和130 GB可用磁盘上的可用收缩空间只有13286 MB?

  4. 4

    为什么我不能使用我所有的8 GB RAM?

  5. 5

    当我有16 GB RAM时,为什么Vim无法打开100 MB文本文件?

  6. 6

    Windows仅看到768 MB RAM(4 GB)

  7. 7

    ESXI仅4.7GB RAM可用于8GB RAM的VM。为什么这么少?

  8. 8

    我有6 GB的RAM,现在Windows告诉我我只有2 GB。其他4个又去了哪里?

  9. 9

    Windows 10:64 GB RAM可用,但仅32 GB可用

  10. 10

    为什么我的程序在64 GB RAM系统上占用的RAM不超过2 GB?

  11. 11

    如何欺骗Windows存储您拥有超过1GB的RAM

  12. 12

    带有10 GB hardrive,8个CPU和4GB RAM的VM是否合理?

  13. 13

    为什么Ubuntu仅显示3GB RAM?

  14. 14

    为什么Ubuntu仅显示3GB RAM?

  15. 15

    为什么32位进程的RAM限制为2 GB?

  16. 16

    BIOS和Windows 7仅检测8GB中的4GB RAm

  17. 17

    安装8GB RAM,获取黑屏

  18. 18

    为什么系统说我的硬盘只有26GB

  19. 19

    Windows 10保留4GB RAM

  20. 20

    为什么 Windows 10 机器上的磁盘上有 5GB 的未分配空间?

  21. 21

    为什么在没有进程报告写入的情况下,磁盘的写入速率高达几GB / s?

  22. 22

    为什么从具有8GB堆的800MB索引中获取所有文档时有时会收到OOM?

  23. 23

    有没有人成功地向Dell 0K0DNP MB添加了超过8GB的Ram?

  24. 24

    我的交换文件在文件系统中总共有 9.2GB,而实际报告的只有 4.6GB。这是为什么?

  25. 25

    将8gb的ram与4gb的ram混合在一起?

  26. 26

    我的笔记本电脑应该支持16GB的RAM,但是据报道只有8GB(但是芯片和插槽都可以工作)

  27. 27

    操作系统仅报告4.1GB的RAM,而不报告已安装的6GB ...为什么?

  28. 28

    为什么安装NVidia 9600GT图形卡会从Windows占用1GB的RAM?

  29. 29

    8GB RAM笔记本电脑上是否有超过265GB的内存?

热门标签

归档