为什么电脑只有单个磁盘读写满了,整个电脑会却很卡顿呢?

2022-03-23 21:14:17 +08:00
 Salticey

电脑用的是 Windows 10 ,配置是 锐龙 3600 + MSI B450M 主板。系统盘是固态硬盘 A ,在磁盘 B 上解压一个文件时,磁盘 B 使用率达到 100% 了,整个读写操作都是在磁盘 B 上进行的,为啥整个电脑都很卡呢?我看了 CPU 占用只有 22% 左右,内存也只有 60% 的使用率。难道是主板 IO 到达极限了么 = =,但是一个机械硬盘就能占满主板的 IO 也太离谱了吧。。。

2787 次点击
所在节点    Windows
16 条回复
geekvcn
2022-03-23 21:28:13 +08:00
解压的时候 CPU 占用不高,但是内存带宽可能是满载状态
kingjpa
2022-03-23 23:01:10 +08:00
@geekvcn 不对的吧,我记忆中, 压缩和解压缩主要就是靠 cpu 做计算, 所以占用还是很高的,
然后就是硬盘, 和内存反而关系不大
2NUT
2022-03-23 23:06:15 +08:00
解压的时候 先解压缓存到 系统盘 A
yulgang
2022-03-24 00:09:16 +08:00
缓存分页文件在 A ,然后感觉 AMD 的 CPU 到 20%左右,系统确实卡
ungrown
2022-03-24 13:26:21 +08:00
IO“阻塞”是系统级“灾害”,无所谓在哪块盘哪个分区上。
稍微想想就能明白,外部存储器的数据交换没能及时完成的话系统必须等,因为根本没法预测“不等待”会不会造成灾难,所以只能等。但凡是内存里面的事情都多少可以预测一下,唯独外存上的事情谁都说不准,到时候数据被错误改写了、丢失了,谁负责? CPU ?内存条?主板?寄存器?某某进程?系统内核?所以只能老老实实等着,该阻塞就阻塞。哪怕启用了读写缓存也是一样,因为缓存是系统的一部分。
参考 Windows To Go 的可移动存储设备一旦被拔系统就自动僵住,直到插回去才恢复,当然这个僵住是预先设计的可控的。
我曾经有台电脑自己加装的 SSD 会隔几个月来一次“大扫除”,我也不知道它在干嘛但反正得有个一两分钟的无响应过程,这期间整个系统都僵死,无任何反应,除了硬盘灯保持常亮(闪都不闪就直接稳稳当当地一直亮着)以外,根本无从知道发生了什么,但这个过程一旦结束,哪怕系统僵了好几分钟也能迅速恢复正常。我一开始慌得一比,后来习惯了直接起身喝水放水回来它就好了。
Salticey
2022-03-24 15:05:52 +08:00
@yulgang 难道是任务管理器有问题吗,我看解压时,磁盘 A 几乎没有占用呢😂
Salticey
2022-03-24 15:07:40 +08:00
@ungrown 微机原理我全还给老师了😂,只有 4 ,50 MB/s 的读写就能点满整个系统的 IO 吗。感觉有点离谱了。
ungrown
2022-03-24 15:17:39 +08:00
@Salticey #7 不会,我说得不够详细。
我举的例子里面,是驱动器被拔不响应、或者内部不知道在干什么不响应,相当于 IO 设备占用 100%且一直没回应,这种对应的是整个系统僵死,直到重新响应后才恢复。
你的情况并不是 100%占用,也不是长时间不响应,所以不会完全僵死,只会有卡顿的感觉。
yulgang
2022-03-24 16:47:57 +08:00
@Salticey #6 真不清楚,单位配的电脑都是 AMD 的,我也是遇到过几次 cpu 在 20% 过一点点时候系统明显反应迟钝(主要使用 Hyper-v 虚拟机,没什么高 io 操作)。有时候系统还会莫名其妙的还会卡住,只有鼠标可以动,点哪都没有反应。

以前用 intelcpu 玩游戏,一个客户端分一个核心,总使用率 90%以上也不会明显觉得反应变得迟钝,还能继续多开游戏。AMD 用的少,摸不清什么原因。
gzlock
2022-03-24 19:01:01 +08:00
这你只能自己找原因了,5600x + b550m 16g 内存 win10 ,解压几 g 的 switch 游戏 rom 压缩包时正常用 edge 看 b 站看论坛没遇过卡顿
gzlock
2022-03-24 19:23:45 +08:00
漏了硬盘信息,系统 c 盘是西数 ssd ,系统 d 盘是西数 14t hdd ,从 d 盘解压到 d 盘。
cev2
2022-03-24 20:58:50 +08:00
我的是 锐龙 3500x + TUF B450M ,从没遇到过因机械硬盘解压文件卡系统的情况。你描述的信息太少,比如用的解压软件是啥,解压时是如何操作的,压缩文件的体积以及压缩文件内文件数量等等。
以 WinRAR 为例, [右键解压到当前文件夹] 和 [打开窗口后直接鼠标拖拽文件到某个位置] 两者解压逻辑是不同的,如果是后者拖拽解压因为有了拖拽这个动作,会调用 explorer.exe (文件资源管理器)的 api ,导致 explorer.exe 处于“卡死”状态,而 Windows 的 explorer.exe 又不仅仅只是一个文件管理器,桌面其实也是 explorer.exe 的一部分。这就导致其实电脑本身并没卡,只是 Windows 的桌面卡了,看起来就和整个电脑卡了而资源占用却不高似的。
Salticey
2022-03-24 21:06:59 +08:00
@cev2 唔,用的是 winRar ,解压时是用右键解压到 xxx 目录 这种方式进行的,从磁盘 B 解压到磁盘 B ,没有涉及到其它磁盘。而且我发现不仅是解压时会卡顿,如果只要是某个磁盘占用到达 100% 时都会出现卡顿的情况,比如 steam 更新一些游戏,游戏需要进行修复时会也卡。
cev2
2022-03-24 21:35:02 +08:00
@Salticey 如果不是因为解压时杀毒软件的问题(可以禁用杀毒软件排除一下,尤其是 Windows/Microsoft Defender 或者一些 Hips 类的工具),如果排除杀软、存储控制器驱动的问题可能就要看看电源供电是否有问题了。
机械硬盘停起转时系统倒是会卡,读取到坏块时也会卡,但这和你的场景不太符合。
ebi5oowiiy1llo
2022-03-25 01:21:34 +08:00
@ungrown 一本正经地胡扯,网络也属于 io ,网速慢电脑也该卡吗? cpu 和外部设备通常靠中断通知数据请求完成,其他时间 cpu 该干嘛干嘛
ungrown
2022-03-28 15:44:19 +08:00
@ebi5oowiiy1llo #15 神经质地激愤,这里讨论存储设备 IO 呢,你削尖脑袋拿网络说事是想凸显自己没长眼睛还是没长脑子呢?
就算在更普遍性的关于操作系统的讨论语境里,单说一个 IO 也大概率特指存储 IO ,要不为啥有个喜闻乐见的工具叫做 iostat ?
咋的不服?是不是还想质问“那网络的类似工具不就没有合适的名字了吗”?喏,netstat 参上。
最后,再给你补刀补到西,网络 IO 照样会导致系统卡顿,你敢说你没碰到过没听说过那要么是你没见识要么是你没良心。即使排除掉因网络问题导致程序被阻塞所呈现出来的僵死无响应这种常见情况之后,即使是单纯的网络大吞吐量也是能对系统造成压力诱发卡顿的,只不过这种影响非常小,要在老旧低算力设备上才能感觉得到。
所以别搁这少见多怪丢人现眼。

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

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

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

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

© 2021 V2EX