很多人都说 Windows 下, C 盘空闲空间越大系统越快,对吗?有什么测试可以反驳这种观点吗?

2018-09-28 23:28:21 +08:00
 CEBBCAT
7968 次点击
所在节点    问与答
65 条回复
RqPS6rhmP3Nyn3Tm
2018-09-29 04:37:30 +08:00
我记得上古时代是内存爆了就会写入硬盘当虚拟内存,那个时候硬盘都很慢,然后就卡死了
jedihy
2018-09-29 05:24:25 +08:00
@BXIA 这个现在也是这样,paged memory 会写入 C 盘的。你写驱动,ExAllocatePoolWithTag 第一个参数如果指定从 paged pool 里面开,是可能被 paged out 的,然后就到磁盘了。这在高负载的时候很容易发生。
jedihy
2018-09-29 05:24:54 +08:00
所有 user-space 的 memory 都是 paged pool,随时可能被换到硬盘。
datocp
2018-09-29 06:50:21 +08:00
早期的说法是机械硬盘的前面分区读取比后面分区快,这在坏道扫描时确实有点这种感觉。然后默认的磁盘缓存就放置在 c 盘,那剩余空间至少得比磁盘缓存大。曾经有过把同学的 ntfs 分区塞得小于 5Gb 好像采用 512bytes 的簇,导致 win xp 无法识别该分区。那剩余空间怎么也得在 10GB 左右,那时已经是 P4 时代。
谁知道在更早的代,所谓的大是多大,那时候一个硬盘都不一定有 10GB 容量。
WuwuGin
2018-09-29 07:27:54 +08:00
XP 时代是这样的,那个时候如果只剩十几兆的空间(反正有个最小磁盘剩余限制),好像直接开不了机。。。后来的系统塞满也能启动了。
SystemRemainder
2018-09-29 07:36:11 +08:00
C 盘空间不足,而开启程序过多会警告虚拟内存不足,软件会卡死。
loading
2018-09-29 08:11:34 +08:00
不说剂量谈毒性?

空闲 10Mb vs 空闲 10G ?

空闲 100G vs 空闲 100TB
agdhole
2018-09-29 08:47:47 +08:00
大是如何定义的?
日常软件都和系统装一个 SSD,软件启动也舒畅
为了留空间就装个系统剩下 四五十 G 都空着,钱太多没地方烧了
iTakeo
2018-09-29 08:49:43 +08:00
没啥直接联系吧,c 盘经常剩下几十 M,最夸张的时候直接 0,后面就是软件打不开了,但是速度好像并不会变慢下来
carlclone
2018-09-29 08:54:39 +08:00
panda
2018-09-29 08:58:34 +08:00
固态无视这种情况吧
chocotan
2018-09-29 09:00:08 +08:00
硬盘不知道,反正我的 U 盘是这样
loading
2018-09-29 09:01:49 +08:00
排除系统原因,还有一个 SSD 写入放大的问题,可以了解一下。
h3lica
2018-09-29 09:03:46 +08:00
感觉没学过操作系统的好多啊…
des
2018-09-29 09:08:45 +08:00
@celeron533
我一直好奇,这个 Trim 控制是怎么做的。
主控芯片根本没办法知道那一块是真的空闲,除非针对针对分区格式做特别优化。
比如删除一个大文件,驱动也只是往磁盘写入了一些数据。
zpf124
2018-09-29 09:37:22 +08:00
这个问题其实是给不懂系统的普通人说的,目的就是为了不让他们填满 C 盘。

因为 环境变量 %TEMP% 和 %TMP% 指定的目录都是 C 盘的(C:\Windows\Temp 或 C:\Users\zpf\AppData\Local\Temp),

大多数程序的缓存还有系统程序的缓存都会放到这,比如 压缩软件默认位置 和 word 自动缓存。

一旦 C 盘满了 这个环境变量的目录无法写入数据,许多软件都无法缓存数据,甚至有些直接无法运行,而没有了缓存有些程序确实会更慢一些。


因此当年给所有普通用户的说法就是 C 满不能满,满了电脑卡。
zpf124
2018-09-29 09:44:54 +08:00
至于现在 固态硬盘确实是剩余空间足够多时速度会比空间不足快,

但不论是过去的机械还是现在固态都不是说空间越大越快, 只是有个剩余空间的阈值,小于这个值了确实会影响一些速度,但大于这个值一点还是大于这个值一倍速度并没有差距。
zpf124
2018-09-29 09:54:22 +08:00
与之类似的还有 当初告诉普通用户 创建账号的时候不要使用中文,有些软件会安不上。

我就遇到了。
印象里是 ps cs4 还是什么来着的早期玩意,装不上的原因是因为安装包第一步会安装一个 vc++2006。
然后这个傻逼库的安装程序不能识别非 ASCII 字母, 而 windws 创建的账户则是以我注册用户的中文名创建了用户目录
C:\Users\*飞\
那个类库的默认解压安装路径就是%TEMP%, 我最后临时把%TEMP% 变量改到 D 盘就安装好了,而对于普通用户还是告诉他们不要 xx 最省事。
(好像到现在微软的解决办法变成了创建用户用你邮箱的前几位,而不是名字来解决这个问题...)
iwtbauh
2018-09-29 09:55:35 +08:00
首先明确一点,碎片是文件系统层次上的,而不是磁盘层次上的。
可以看出 M$的“磁盘碎片整理”误导了多少人。
楼上好多人先搞清楚这个问题再套路,precondition 都搞错了命题就没有讨论真假的必要了。
iwtbauh
2018-09-29 09:56:03 +08:00
@iwtbauh #39

s/套路 /讨论 /g

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/493686

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX