标签: cache

如何清除 Windows 文件缓存?

出于测试目的,我需要清除文件缓存(例如测量文件操作性能)。

我从 sysinternals找到了CacheSet,但在那里按Clear没有帮助。我刚刚复制到 Nil 时再次复制的文件眨眼间就完成了(而初始操作花费了大量的 2 秒)。

是不是说HD有自己的缓存不能取消或清除?

windows cache

7
推荐指数
1
解决办法
3万
查看次数

内存缓存与磁盘失去同步

(Ubuntu Linux 服务器,64 位)我正在对刚刚下载的文件(~3.0 GB)进行故障排除,但是当我发现一些非常不寻常的东西时,它没有通过完整性测试。

首先这是下载后文件的MD5,与预期值不匹配:

~% md5sum media.iso 
5d74facb904cc1765a468354908a8f34  media.iso
Run Code Online (Sandbox Code Playgroud)

一段时间过去了,在此期间应该没有任何更改文件,但是当我再次检查文件时:

~% md5sum media.iso
a5b97c5016afb39bd67ccfc3fa6ca59e  media.iso
Run Code Online (Sandbox Code Playgroud)

这真是出乎意料。由于我有很多 RAM,我怀疑这是缓存的影响,并且出现了问题。我决定从磁盘重试整个文件,令我惊讶的是:

~% sudo sysctl -w vm.drop_caches=3    # This linux command invalidates
vm.drop_caches = 3                    # everything in the memory cache.
~% md5sum media.iso
2992aa6270f6e1de9154730ed3beedc1  media.iso
Run Code Online (Sandbox Code Playgroud)

我重做了它,现在它似乎保持一致,尽管这仍然不是我期望的值。当然,内存缓存中的内容与磁盘上的内容不同。这是大问题。

为了修复下载,我在源机器上创建了一个 torrent 并在目标机器上打开它。大约 3.0GB 中的五个 1MB 块未通过完整性检查。我使用 torrent 来修复这些文件块以及文件完整性如何。

现在的问题是确定数据在何处不同步。

  1. 我用memtest86+测试了内存,除了位衰落测试。我期待看到一些失败的内存模块,但没有任何东西。一切都好。
  2. 文件系统是 Ext4,基于 LVM2,基于 3 磁盘 RAID5 阵列。Ext4 被认为是稳定的,如果磁盘之间的数据不一致,mdadm 会发出警告。但是日志中没有任何内容。SMART 错误日志是干净的,磁盘是新的(“开机时间”少于 30 天)。
  3. 我正在寻找有关当前内核 (2.6.35) 中任何数据丢失错误的信息,但就我看来,似乎什么也没有。

关于我还可以检查什么的任何想法,或者缺陷/错误到底可能在哪里?

它是 Ubuntu 10.10 64 位、Core …

memory linux cache

7
推荐指数
1
解决办法
3202
查看次数

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

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

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

任务管理器截图

列表中的进程使用的内存总量只有大约 1 GB。几天来,我的计算机上发生的事情是,一个程序 (Cataloger.exe) 不断处理大量文件(每个文件接近 5-10 MB),为了编目而反复打开和读取它们。但它在内存中不会增长太多,并且保持在 100 MB 左右的大小。但是,它在 30 分钟内处理的数据量可以用千兆字节来衡量。

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

拉姆地图截图

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

不管是什么,它都会使计算机速度降低 50 倍。在 Chrome 中打开一个新标签需要 20-30 秒,打开一个新程序最多需要一分钟。由于速度变慢,一些程序甚至崩溃。

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

memory windows performance resources cache

7
推荐指数
1
解决办法
8903
查看次数

在任务管理器的内存/性能选项卡下,缓存值是什么意思?

在 Windows 10 中,任务管理器中的性能选项卡/内存按钮,缓存值是什么意思?

在下面的图片中,它说我有一个 1.3GB 的缓存。这是否意味着RAM缓存?CPU缓存?磁盘缓存?文件系统缓存?以及如何清除它。

从任务管理器缓存内存

memory cpu performance cache windows-10

7
推荐指数
1
解决办法
1万
查看次数

禁用 Linux 页面缓存读取

有没有办法在 Linux 中关闭读取的页面缓存?更具体地说,我希望我的进程直接从磁盘读取。

我的问题的设置:我正在 Postgres 中尝试新的查询处理技术并测量它们的运行时间。为了准确比较不同方法的运行时间,我需要关闭从操作系统缓存的读取。

我已阅读以下方法,但它们都不适用于我的情况:

  1. 使用清除缓存echo 1 > /proc/sys/vm/drop_caches:我需要在查询的每次迭代时调用它,这会弄乱我的最终测量时间。
  2. O_DIRECT在程序内使用:我无法控制 Postgres 如何读取文件
  3. 使用 挂载我的设备-o sync。我在这里读到它将关闭写入缓冲,但我不确定它是否也会禁用从缓存的读取?
  4. 使用hdparm -W 0 /dev/sda1:同样,这只会禁用写入缓存。
  5. 使用此处解释的应用程序特定脚本:如果我有一个应用程序,那么这将起作用,但在我的设置中,我有一个 Postgres 服务器作为服务(具有许多线程)和一个客户端。我不是 100% 确定,但该脚本似乎适用于常规应用程序,而不适用于 Postgres 等服务。

linux postgresql cache hard-drive-cache

7
推荐指数
0
解决办法
1663
查看次数

如何清除 Windows 7 中的缓存/历史记录?

在 Windows XP 中,任务栏属性中有一个选项可以清除所有最近访问的网页、最近的文件列表,即。缓存、临时文件等;有 Windows 7 的等价物吗?

windows-7 history cache

6
推荐指数
1
解决办法
5万
查看次数

如何从 GNOME Do 缓存中清除错误的快捷方式?

我正在使用 Ubuntu 和 GNOME Do 并且有一些不好的快捷方式(它们甚至有一个灰色的 X 图标),我无法弄清楚并从列表中删除。

我认为 GNOME Do 有一些缓存,但已经有一段时间了,它们仍然存在。

我删除了~/local/share/gnome-do文件夹,但仍然没有成功。

任何想法如何从列表中清除它们?

linux shortcuts cache gnome-do ubuntu

6
推荐指数
1
解决办法
4490
查看次数

如何将文件保存在 Windows 7 的缓存中?

有时您比 Windows 更清楚哪些文件将在以后重新使用。假设您有 8GB 内存,并且您每小时在 I/O 绑定应用程序中使用相同的 1GB 文件(如果文件被缓存,则需要 1 秒才能完成,否则需要 1 分钟。)现在您处理其他一些 16GB不会被重复使用的数据。自然而然,经常使用的 1GB 文件将被推出缓存。如果可以告诉 Windows 将 1GB 文件保留在内存中,那将是有益的。(更好的是,如果有人可以告诉 Windows 不要缓存这 16GB 的数据,那就太好了,但我对这可以做到并不乐观。)

网络共享中的文件情况更糟:即使有可用内存,Windows 也会从缓存中删除文件。如果你立即重新使用一个文件,它仍然会在缓存中;但是如果关闭文件并等待 30 秒,缓存就会消失,系统将需要从远程服务器重新获取文件。对我来说,这是非常明显的,因为我使用的是 3 Mbps 的网络链接,并且我处理的文件大小约为 10 MB。

将文件保存在缓存中的穷人的方法是继续读取文件。有没有更好的方法?你知道有什么程序可以做到这一点吗?

(如果这可以在 Linux 下轻松完成,也请告诉我。)

memory windows cache superfetch

6
推荐指数
1
解决办法
1300
查看次数

我应该在 SSD 驱动器上启用“写入缓存”吗?

调整 SSD 驱动器以减少磨损似乎在当今风靡一时。在这个主题上,写入缓存仍然与 SSD 驱动器相关吗?关掉了有什么影响吗?

windows-7 ssd cache

6
推荐指数
1
解决办法
3755
查看次数

Greasemonkey 在哪里缓存添加了“@require”关键字的脚本?

它在哪里缓存使用“@require”关键字添加的脚本?我想知道它在 Mac OS X 上的位置,最好,但如果你知道它在另一个系统上的位置,那么在 Mac 上应该不难找到。

greasemonkey cache

6
推荐指数
1
解决办法
5469
查看次数