小文件打开和保存在本地驱动器上非常慢

Small files very slow to open and save on local drive


问题

解决方法:在我的广域网上有一个该死的快捷方式,当我不在VPN上时,无法访问另一台电脑。我已经忘了它。我把它删除了,问题马上就消失了。现在在所有的应用程序中,所有文件都能快速打开。谢谢大家的建议和时间。

我在我的[非常快的]电脑上通过 "文件->打开 "打开的任何文件都非常慢,在过去的3周里。这包括(但我肯定不限于)。

  • Windows Notepad
  • Notepad++
  • Visual Studio
  • Adobe Photoshop
  • MS Word

奇怪的是:如果我在文件资源管理器中通过双击打开一个文件,或者在任何应用程序中通过 "最近的文件列表 "打开,它就能立即打开。只有在任何应用程序中进行 "文件>打开 "时才会出现这种缓慢的情况。

第一次保存时也很慢。

随后的保存(在同一个应用程序会话中)非常快。

打开任何这些小文件始终需要大约7秒。

但正如下面详细描述的那样,当一个文件被打开,然后在同一会话中被关闭后,它又立即被打开。而且缓慢的保存只发生在第一次保存时,从未发生在随后的保存中。

这个问题可能与几个事件相吻合,但可能完全不相关:

  • 安装了一个新的M.2 SSD PCIe驱动器,它被广泛认为是非常快的。我克隆了我的较慢的SSD驱动器,并将这个新的(更快的)SSD驱动器作为我的主/启动/C驱动器。这是几周前的事。今天早上,我(暂时)恢复到我的旧固态硬盘(克隆后),它没有任何区别。问题仍然存在。(我甚至删除了新的M.2驱动器,启动到旧的,它没有任何区别。)
  • 我把windows 10升级到2004年的版本。
  • 我启用了Windows Subsystem for Linux (Ubuntu 20.04)

我发现了类似的帖子,但总是更容易理解的情况。

下面是一些比较和细节。

  • 在同一会话中首次打开时速度慢。保存速度慢,只是第一次保存。保存慢甚至发生在Adobe Photoshop中,但只在第一次保存时。
  • Windows Defender防火墙正在运行,但实时保护被关闭,我没有运行任何其他AV。
  • 在一个特定的NPP会话中,如果我关闭一个文件,然后重新打开它,它就会立即打开。但如果我关闭NPP,重新启动,然后再次打开同一个文件--需要7秒钟。在windows记事本和其他文本编辑器中也类似。
  • 当我从 "最近的文件 "列表中打开一个NPP文件时,任何/所有这些文件都会立即打开。只有当我从 "文件->打开 "中打开文件时,才会出现缓慢的情况。
  • 如果我关闭NPP并重新启动它,任何在前一个会话中打开的文件都会默认重新打开,而且是即时的,没有延迟。只有当我在一个新的会话中手动打开一个文件时,才会出现缓慢的情况。这很奇怪:我可以在NPP中打开15个文件,然后关闭该应用程序。然后当我重新启动NPP时,所有15个文件都立即/自动地在15个不同的标签中打开。但是,只要我做文件->打开,并打开一个尚未打开的文件,就需要7秒钟,而且表现得像整个操作系统被挂起和拉紧。
  • 我卸载了所有的NPP插件并重新启动--打开小的文本文件仍然需要7秒钟。
  • 我重新启动了我的电脑几次。
  • 我在文本文件所在的驱动器上运行了 chkdsk ,没有坏道。
  • 我运行了 procmon ,得到了结果,但不知道我在成千上万的条目中要找什么。
  • 我运行了 wpr --它成功地开始了一个录音会话,但当我用 -stop +文件名再次运行它时,我得到了错误 cannot change thread mode after it is set
  • 我卸载了NPP并重新安装了它。大约有1天,这解决了问题,文件立即打开。然后第二天,原来的问题又出现了。
  • 我按照Bob Denton的建议,对我所有的驱动器进行了优化--它没有任何区别。
  • 我做了一个 clean boot (禁用所有非MS服务)--没有变化。
  • 我把启动顺序切换到原来的SSD驱动器,关闭,物理删除全新的M.2 SSD,并重新启动。同样的问题。没有区别。所以,这与这个新驱动器无关。我能想到的最后一个罪魁祸首是Windows 2004的更新--在过去的几个月里没有其他重大变化。

这真是太烦人了。有什么想法吗?

你最近在ssd上运行了chkdsk吗?
进程监控(Microsoft/Sysinernals)可能会提供一些东西,所以我会在重现问题的同时先运行它。 否则,就去找一个ETL跟踪。 wpr.exe -start GeneralProfile 重现, wpr.exe -stop C:\gp.etl 。 你可以从商店获得Windows性能分析器(WPA)来分析它。 如果你需要帮助,也许可以提供一个ETL压缩版的链接。
Moab。我运行了chkdsk,没有坏扇区。HelpingHand:我在打开文件时运行了procmon64--再现了缓慢的打开速度--但是
答案1

根据我的经验,Windows在报告磁盘硬件错误方面相当出色。因此,我首先要做的是打开事件查看器,进入 Windows Logs -> System ,仔细滚动浏览事件列表,至少在过去的几天里,查看每个错误。如果文件所在的磁盘有硬件问题,很有可能会在那里显示出来。

第二件可能值得一试的事情是禁用病毒扫描器(只是短时间的测试)。我曾经遇到过一个类似的问题,结果发现Windows Defender本身就是问题所在。你给人的印象是一个高级用户,所以你肯定没有安装两个或更多的病毒扫描器,是吗?

我想尝试的第三件事是将一些有问题的(文本)文件移到你的新固态硬盘上,并从那里开始处理它们。如果打开/保存所需的时间是正常的,那么,旧的SSD就是问题所在。

在做这个测试时,你应该移除所有其他的HDD和SSD。正如上面的一个评论所指出的,Windows文件打开对话框可能会查询系统中的所有驱动器,尽管你没有从其他驱动器中打开文件,但仅这一点就可能会拖延事情。

在设备管理器和能源管理选项中,你可以检查你的驱动器是否一直处于活动状态,或者它们是否正在进入睡眠。如果是后者,你可以禁用该行为,并测试情况是否改变。

最后,你的系统上最终会有病毒;正常操作的极端延迟将是它的典型标志。但实际上我不相信你的情况是这样的,因为(如果我没弄错的话)启动时间是正常的,只要文件被缓存了,打开文件也是正常的。然而,为了谨慎起见,我会从一个干净的只读介质启动,并检查系统上是否有任何可疑的东西。

更新 (作为对OP评论的回答)

你在下面的评论中写道。

当我双击任何文本文件时,它就会立即打开。但当通过应用程序打开

我把一些文本文件移到我的[据说速度很快的]C盘上,打开的时间与 它的打开时间与我的其他驱动器是一样的。

这两种说法都支持这样的理论:标准的Windows文件打开对话框(应用程序几乎总是用它来让用户选择文件)在查询驱动器时有问题。

因此,我现在建议从系统中删除所有的驱动器( 包括网络驱动器 和USB钥匙!),除了系统驱动器,并重新测试。这时问题很有可能会消失。然后,你可以开始一个一个地重新添加其他驱动器,并确定哪一个是造成错误行为的原因。

当然,你应该从网络驱动器开始,因为这不需要打开电脑。关于网络驱动器,删除共享的驱动器字母可能是不够的;相反,要删除驱动器字母,停用网络硬件并拔掉网线。然后检查你的应用程序在其MRU(最近使用)列表中是否有一个非本地文件(即网络上的文件)。如果可能的话,删除该MRU。你需要确定应用程序在从该程序中打开文件时,不会试图从网络上搜索或预装一些东西。

如果这没有帮助,继续删除物理驱动器(USB钥匙、HDD、SSD)。

Windows Defender已经禁用很久了,我没有其他病毒扫描器。在事件日志中没有出现相应的错误。我把一些文本文件移到我的[据说速度很快的]C盘,它打开的时间与我的其他驱动器相同。有趣的是。当我双击任何文本文件时,它立即打开。但当通过一个应用程序打开它时,它就非常慢了。
@HerrimanCoder 你评论中的两个说法相当重要,IMHO。请看我答案的更新。
我试着把新的/快的固态硬盘克隆到我的旧的/慢的固态硬盘(仍然在电脑里面),然后启动到旧的固态硬盘。启动时很正常。问题仍然存在--当从 "文件->打开 "时,即使是最小的文本文件,打开的速度仍然非常慢。但当我从 "最近的文件 "列表中打开时,总是能立即打开。仅供参考--我还没有删除驱动器--下一步将尝试这样做。顺便说一下:我没有映射/网络驱动器。我所有的驱动器都是内部驱动器+1个插入USB端口的外部存储驱动器。我根本没有向/从那个驱动器打开/保存文件。
这个观察结果(从最近的文件中打开是快速的)也许也支持了标准的Windows文件打开对话框有问题的理论。我期待着你在移除所有驱动器后的观察。
我把启动顺序切换到原来的SSD驱动器,关机,物理删除全新的M.2 SSD,然后重新启动。同样的问题。没有区别。所以,这与这个新驱动器无关。
答案2

我个人认为这是两种情况之一,要么:

  1. 应用程序安装在你的SSD上,但似乎Notepad++在等待我的其他驱动器,也就是普通的HDD在启动之前旋转。

或者

  1. s 一些最近的文件历史在你的网络上

对于修复1,你需要做以下工作(注意:如果这不适用于你,因为你只安装了SSD,那么请跳过这个修复):

发现你是否从其他磁盘加载数据的简单方法是查看你的config.xml文件( C:\Users%USERPROFILE%\AppData\Roaming\Notepad++ ) 或者更好的是在该目录下的文件中进行查找,并搜索你的不同驱动器的字母,如D:\或E:\

至于第二种修复方法是:

查看config.xml并删除这些行,保存.xml,并打开Notepad++,应该恢复到正常速度

。 我安装NPP的C盘是固态硬盘(M.2--非常快),我的E盘(我所有的文本文件都在这里)也是固态硬盘,但不是M.2,所以速度不大。我确实有一个标准的老式硬盘,但它根本不在这个等式中。
硬盘是否插在你的电脑上?
是的,所有的内部本地驱动器。没有网络驱动器,我的便携式/外置驱动器也不在考虑范围之内--不在那里打开/保存文件。
我认为quimantha建议7秒的延迟是在等待老式驱动器从睡眠中旋转起来。这是有可能的,即使你所做的任何事情都不需要访问它。当你重现这个问题时,把你的耳朵贴在硬盘上听一听(或者直接卸载/移除硬盘)。
@JakeRobb 是的,这正是我所说的,如果你能拔掉硬盘并尝试启动notepad++,我想这可能是解决你问题的一个潜在办法。
答案3

我们在这里是在黑暗中拍摄,所以我将猜测。 我建议你逐步缩小问题的范围。 这肯定会花费你宝贵的时间,但最后可能会证明是有利的。

如果你怀疑罪魁祸首可能是新磁盘,试着以各种形式远离它。 操作系统可能也有关系。 试试:

  1. 使用Live linux,例如USB(相对较快)。
  2. 使用你的旧磁盘(相对较快,如果你还有的话)。
  3. 在同一个磁盘上建立另一个可启动的分区(Linux/Win)(需要更长时间)。
  4. 在你的Win 10下设置一个虚拟机(如VirtualBox)。

编辑 。 作为一个一般的建议 ,对于那些远未被理解的问题 我的经验 (其中包括几年来处理PC硬件/软件的安装和设置)表明,你必须从一个工作的系统开始,并逐渐纳入不工作的系统的组件。 你的工作方式正好相反。

扩展上面的清单:

  1. 在你的一个磁盘中腾出一些空间,安装一个新的Windows(最好是)或Ubuntu操作系统。 如果你认为这可能最终成为你的基本操作系统,在它表现良好的情况下,在磁盘的开头做这件事,这样你以后就可以扩展分区,占用整个磁盘了。 视情况而定,取决于你想要的最终配置,等等
我试着把新的/快的固态硬盘克隆到我的旧的/慢的固态硬盘(仍在电脑里),然后启动到旧的固态硬盘。启动时很顺利。问题仍然存在--当从 "文件->打开 "时,即使是最小的文本文件,打开的速度仍然非常慢。但当我从 "最近的文件 "列表中打开时,总是能立即打开。
@HerrimanCoder - 我理解你可能没有时间测试你收到的所有建议,例如这个答案中的建议。 据我所知,在你的旧磁盘上,你没有看到任何问题,至少在更换磁盘之前, 是这样吗? 如果你把新盘克隆到旧盘中(我在第2条中不是这个意思,只是恢复到你以前的状态,假设你还有旧的操作系统安装),你可能会继承这个问题。 请看编辑过的答案。试着从一个尽可能干净的系统开始。
我把启动顺序切换到原来的固态硬盘,关机,物理删除全新的M.2固态硬盘,然后重新启动。同样的问题。没有区别。所以它与这个新的驱动器无关。
在我的广域网上有一个该死的快捷方式,当我不在VPN上的时候,就无法访问另一台电脑。我已经忘记了它。我删除了它,问题马上就消失了。现在在所有的应用程序中,所有文件都能快速打开。谢谢你的所有想法和时间。
答案4

我假设你有Win 10。 固态硬盘的修剪功能(又称优化)的应用或时机有问题。见 https://www.tenforums.com/performance-maintenance/159489-windows-10-ver-2004-ssd-trim-defrag-glitch.html 在Win 10的任务栏中,在搜索框中输入Optimize,然后选择Defragment and Optiimize Drives。选择你想修整(优化)的驱动器,然后点击优化按钮。对每一个你想修剪的驱动器重复上述操作,然后用NPP测试。

试了一下,没有什么不同。
修剪通常会对固态硬盘的写入产生影响,但对从它的读取没有影响(我假设OP确实有足够的内存,所以打开一个小的文本文件不会导致对页面文件的写入)。对SSD进行碎片整理根本没有任何意义;相反,它白白增加了磨损。
答案5

Notepad++被允许通过防火墙出去到WWW吗?

我以前在应用服务器上用Mail Marshall网络流量控制器安装它时注意到类似的情况,NP++在打开时试图与外界通信,如果它的连接被阻断,就会多花几秒钟时间来启动。

NPP启动很快,这不是问题。它打开文件的速度很慢,正如原帖中提到的。
答案6

数据非常少,而且对更多数据的请求也没有得到回应。 所以我需要猜测,以前的SSD很慢,而新的SSD更慢。 更慢了。

可能的原因:

  • 你使用的磁盘克隆方法不尊重固态硬盘上的页面边界
  • BIOS/UEFI没有更新
  • 主板被设置为使用SATA而不是AHCI或RAID
  • Windows使用通用磁盘驱动程序,但可能存在制造商的驱动程序
  • M.2适配器是一个附加的,意味着对主板来说不是通用。 所以它使用的接口比它应该使用的慢得多。
harrymc:你的建议是我听到的最合理的建议。但我不知道你建议我做什么,以了解这些问题是否是问题所在。如果是驱动程序或适配器的问题,我怎么能知道?
逐项查看清单。对于那些你不知道的,在帖子中添加更多关于硬件型号的信息。
我把启动顺序切换到原来的固态硬盘,关机,物理删除全新的M.2固态硬盘,然后重新启动。同样的问题。没有区别。所以它与这个新的驱动器无关。