Answers:
操作系统可能正在轮询光盘驱动器,以查看是否插入了任何东西-硬盘和光盘共享公共电路,因此LED可能适用于这两者。您可以尝试关闭自动插入通知(设备管理器-查看光盘驱动器的属性)并自动运行。
此处提供更多信息:... / cdtTipAutoRun.htm(已损坏,替换:http : //web.archive.org/web/20100527203945/http : //www.base40.com/cdtTipAutoRun.htm)
如果您想了解系统上正在发生的事情,那么有一个来自sysinternals的很酷的工具(他们制作了所有很酷的工具),称为processmon。它将实际上告诉您所有正在发生的事情。您可能会惊讶地发现没有活动的东西有多少。
我并不是说您可以使您的灯不时闪烁,但至少您可以看到发生了什么。
在Acer笔记本电脑上,HDD LED闪烁的真正罪魁祸首是内部名为BrcmCardReader的服务,其名称为Broadcom Card Reader Service。一旦我停止了服务,闪烁也停止了。当然,我不必禁用CD-ROM或用胶带覆盖LED即可实现此目的。与本文其他文章中所写的相反,操作系统本身并不是为了轮询任何东西而写得很差。但是Broadcom编写的这项服务是另外一回事了。
我第一次试图找出是什么原因导致的闪烁才发现,这是类似的东西做的东西像WBEM wmiprvse.exe IRP_MJ_QUERY_INFORMATION
并IRP_MJ_QUERY_VOLUME_INFORMATION
为每个驱动器。我知道wmiprvse实际上是由Microsoft编写的WMI执行组件,我什至尝试使用事件日志来跟踪WMI活动,如MSDN上所述。它没有用,我只能观察
ProviderInfo for GroupOperationId = 101; Operation = Provider::CreateInstanceEnum - CIMWin32 : Win32_LogicalDisk; HostID = 2368; ProviderName = CIMWin32; ProviderGuid = {d63a5850-8f16-11cf-9f47-00aa00bf345c}; Path = %systemroot%\system32\wbem\cimwin32.dll
Microsoft在此跟踪中显然做得不好:CIMWin32,主机ID,提供者guid和路径均指向执行WMI的二进制文件,而不是指向进行WMI查询的程序。因此,在那一刻,我无法发现Broadcom读卡器服务能够做到这一点,因为没有任何记录指向它,这就是为什么我引用所有这些信息,以减轻将这些物品放入搜索机的人们的痛苦。无法看到谁实际命令该活动,这也解释了为什么有人在这里声称“这是一个操作系统:”此时停止的人什么都看不到。但是我知道wmiprvse本身并不是在做,我知道还必须有其他一些过程命令。
因此,最后一天,在对整个系统进行了映像备份之后,我开始使用蛮力方法,逐个关闭所有内容,直到闪烁停止。所以现在我确定。这是Broadcom读卡器服务。当我实际上是一名程序员时,我什至检查了其中的字符串,c:\Program Files\Broadcom\MemoryCard\BrcmCardReader.exe
并在打开后立即发现了它的确切功能:
SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_LogicalDisk'
SELECT * FROM __InstanceCreationEvent WITHIN 0.1 WHERE TargetInstance ISA 'Win32_LogicalDisk'
由于闪烁如此频繁地发生,因此很明显它是连续轮询的。这真是该服务的糟糕编程。在查询中观察WITHIN子句。具体地说,Microsoft记录了此类构造在WMI中的行为:
http://technet.microsoft.com/zh-cn/magazine/2006.09.wmievents.aspx
请注意,WITHIN子句指定内部事件类的轮询间隔。因为被监视的类没有相应的事件提供程序,所以WMI轮询机制用于定期检查特定类是否发生了内在事件。该轮询间隔由WITHIN关键字指定,以秒为单位。
所以,我现在知道,博通服务程序员决定投票的__InstanceDeletionEvent
的每一个逻辑磁盘 每秒和__InstanceCreationEvent
甚至每秒10次!他们设法让COM参与进来,并使用单独的进程,并通过WMI / wmiprvse进行处理,以致无法观察到(至少我还没有发现)他们的服务正在这样做!
错误的程序,非常糟糕的程序。
并为服务和应用程序提供了适当的解决方案:RegisterDeviceNotification
。一个真正的通知(即,安静的时候有没有什么新的情况发生),可以通过服务通过接收SERVICE_CONTROL_DEVICEEVENT
事件。参见例如:
/programming/706352/use-registerdevicenotification-for-all-usb-devices
了解了所有这些信息之后,搜索Broadcom读卡器服务实际上返回了一些早些发现它的人的帖子:在community.acer.com上(我引用的是我找不到永久链接的帖子):
“ Vladan Re:Aspire 5750Z读卡器驱动程序,Win 8 11-29-2012 06:29 AM
刚发现Broadcom读卡器服务导致硬盘一直每秒闪烁多次。停止并将此服务设置为手动甚至禁用即可解决闪烁问题,而不会影响读卡器的功能。”
在bleepingcomputer.com上:
“ Cheesenbranston发表于2013年5月28日-04:47 AM
自从以全新安装方式安装Win8 pro x64(即不是升级版)以来,我遇到了类似的问题。在Task Manager中,尽管磁盘吞吐量似乎并不特别高,但使用率一直稳定在100%。我相信我已将问题确定为Broadcom读卡器服务。”
SJ Harvey于2013年2月1日在Amazon.co.uk上发表了一篇评论:
真正困扰我的一件事(请注意过去时)是驱动器指示灯不断闪烁。这不是HDD活动,几个小时后我找到了罪魁祸首。这是Broadcom读卡器服务。
他还建议将服务切换为手动,但是在我的计算机上,我不得不完全将其禁用。
因此,除了硬盘LED闪烁以外,人们甚至报告了更高的资源使用率。
最终解决方案:禁用“ Broadcom读卡器服务 ”:在服务中转到其属性,将其停止,然后将其启动类型更改为“已禁用”。闪烁将最终停止。我真的很想知道它的目的是什么-关闭它会丢失什么?看到它的编程效果有多么差,我不惊奇该服务的全部目的是在插入存储卡时更改某些图标!我敢肯定,滥用WMI确实是不好的编程。
安装并运行Process Explorer。
选择查看菜单,然后选择列。在“ 选择列”窗口中,选择“ 过程性能”选项卡。勾选I / O读取和I / O写入。单击确定。
这是正常的。操作系统(Windows等,您无法禁用)会生成许多硬盘驱动器活动。某些程序或其他程序始终会存在硬盘驱动器活动,这只是计算机的本质。
如果活动指示灯使您烦恼,则可以通过用贴纸覆盖它或在其所连接的主板上找到接头连接器并断开连接来禁用它。它会被标记为HD LED或类似的东西。
我的Vaio笔记本电脑出现相同的问题。禁用DVD驱动器(我很少使用它)可修复闪烁。我还担心过度写入,因为最近安装了SSD,并且我知道它们的寿命通常受写入/擦除周期数的限制。
根据Microsoft Technet上某人的建议,我下载了SysInternals并使用Process Explorer(procexp)监视磁盘写入(顶部的图形图标之一)。我还使用diskmon给出了非常详细的写入视图。我发现“闲置”时发生了很多写作,所以...
我使用Windows 7的系统配置(msconfig)以诊断模式启动(非常少的服务和启动项),瞧瞧,所有写入都停止了。什么都没用:-),但是没有写。然后,我使用msconfig启用了Microsoft的东西,而我想要的大多数功能都在那里。也有零星的写入,但比正常启动少得多。通过启用一些关键服务并启动了英特尔和索尼的产品,我获得了我想要的其余功能。
根据SSD的建议,我还使用Windows和SSD Tweaker(可下载工具)禁用了计划的碎片整理,大多数日志记录以及所有获取和索引。
现在,我没有任何闪烁,对SSD的写入也更少了。由于SSD的缘故,启动和关闭速度也很快。我从电源按钮转到有用的台式机大约需要15秒。IE即刻在msn.com上打开。完整Security Essentials扫描从3-4h延长到30m。我也进行Java编译,但无法进行测量,但我主观上感觉与病毒扫描类似。我是一个快乐的露营者。
我的运行Windows 7的系统也这样做,因为它正在轮询光驱,如其他答案所述。我的解决方法是打开DVD驱动器托盘,然后将其关闭。之后,由于某种原因,闪烁停止。不幸的是,这意味着我每次重新启动计算机时都必须记住要这样做。