教育培训 > 经常用everything对硬盘有伤害吗?

经常用everything对硬盘有伤害吗?

2020-10-11 17:33阅读(65)

经常用everything对硬盘有伤害吗?:前面回答只知其一不知其二,Everything伤硬盘是杞人忧天,相比慢如蜗牛的Windows系统搜索功能,这个小工具其实:-everything,

1

前面回答只知其一不知其二,Everything伤硬盘是杞人忧天,相比慢如蜗牛的Windows系统搜索功能,这个小工具其实对硬盘更好,和一般应用程序没啥区别。

Windows平台最快的文件名搜索工具,Everything为什么这么快?因为它与号称世界上最快的磁盘空间分析器WizTree工作原理一样。

WizTree直接读取硬盘主文件表MFT(C:\$MFT是一个特殊隐藏系统文件,用于跟踪所有文件和文件夹的动态变化),以这种方式扫描文件完全绕过了Windows操作系统,从而获得巨大的速度提升。

也就是说,$MFT是所有文件的索引数据库,大小通常在100~200MB之间,Everything、Wiztree这类搜索工具从这个数据库文件查找文件更快,而像Windows全盘搜索那样再翻一遍,其实也只是正常读取硬盘,还远远谈不上伤害。

要说有伤害的,应该是机械硬盘执行多程序时,明明已经出现了卡顿,你还要执行文件搜索任务,此时硬盘必定疯狂读写,忙不过来甚至直接当机。

2

有的,心理伤害

3

Everything是很多人都很喜欢的一款Windows上的搜索引擎,它比Windows内置的搜索要快得多得多。

Everything的工作原理

在了解Everything如何工作之前,我们还需要理解NTFS的两个功能,MFT和

USN journal。

MFT(Master File Table)

NTFS文件系统中,有一个特殊的MFT表,它位于每个NTFS分区的根目录中,名为$MFT。所有文件夹和文件的名称都存储在这样一张表中,但不能通过用户模式API进行访问。

USN journal

NTFS文件系统还拥有一个日志功能,它最初是一个空文件,每当对卷进行更改时,一条记录就会被添加到$Extend\$UsnJrnl的NTFS元文件中。它并不包含与更改相关的所有数据或详细信息,因此更改这个日志不能对NTFS中的文件进行操作。

Everything在启动时会扫描系统所有的NTFS卷的MTF表,将文件名称以一种利于字符串检索的算法形式存储在Everything的index索引数据库中。除此之外,Everything还会在系统运行过程中监控NTFS卷的USN日志文件,假如文件系统中的文件发生了改变,那么Everything就会更新它的index索引数据库。

由于Everything并不索引文件具体内容,并且依赖USN日志来过滤文件更新,因此只需要占用很少的内存和处理器时间。Everything的索引过程和搜索过程非常快速,几乎是一瞬间完成,占用系统资源极低,同时能实时更新索引数据库和搜索结果,这些优点使得在磁盘容量越来越大、用户文件越来越多的情况下广受欢迎。

Everything和Windows内置搜索的区别

Windows内置搜索用的是普通的文件系统遍历查找,比如:FindFirstFile/FindNextFile之类的。当然Windows 7之后的版本也内置带索引的搜索功能,但非常复杂,不仅可以搜索文件名,还可以搜索文件内容,而且适用于任意文件系统。缺点就是需要一个后台服务爬虫不停地对文件系统进行索引,所以非常耗资源。

Everything在搜索时,根本没有遍历文件系统,它检索的是自己组织好的索引数据库,所以搜索速度是飞快的。不过Everything需要管理员权限才能读取USN日志,这会带来安全上的问题。

Everyting搜索功能会损伤硬盘吗?

不管是那一款快速搜索软件,想要搜索更快,就需要在遍历后形成索引。这个索引文件需要写在硬盘上,并且会更新,但通常这个索引文件都不会很大。对硬盘的造成的伤害可以忽略不计,它和我们拷贝到硬盘一个同等体积的文件相差并不大。

举个例子:

Everything索引一个全新安装的Windows 10(大约120000个文件)仅需要大约14MB的内存以及不到9MB的硬盘空间,仅需要1秒就可以索引完成。如果是一百万个文件大约需要75MB的内存和45MB的硬盘空间,索引完成大约需要1分钟。

这点损耗对比于Windows内置的搜索来说可谓是微乎其微,Windows内置的搜索不管你用不用,它默认都在工作。

为什么微软不去做一个Everything?

对于专业人士来说,毫无疑问Windows内置的搜索真的糟得一塌糊涂,但Windows本身是为广大的普通用户提供一个通用的使用平台,如果叫普通人去使用布尔运算符、通配符、正则表达式来快速的索引文件反而有点不现实。

所以微软要去权衡全球用户的接受程度,但微软可以提供接口,让开发者去充分发挥想象空间,这就是平台和生态圈的概念了。


以上个人浅见,欢迎批评指正。

认同我的看法,请点个赞再走,感谢!

喜欢我的,请关注我,再次感谢!

4

硬盘就是消耗品,随便用,记得做RAID

5

硬盘本身也算是一种消耗品,他都是有读写次数的,所以说无所谓伤不伤害,

6

win10最新版本自带全盘搜索功能,你可以试试,比everything好用,还不用担心伤硬盘。

7

everything是搜索策略,不是大面积读写硬盘,没有问题。