Oli*_*Oli 13 performance kernel io ssd
我注意到当我编写大量应用程序时,整个系统会变慢。为了进一步测试,我运行它来执行(相对)低 CPU、高磁盘活动:
john -incremental > file_on_SSD
Run Code Online (Sandbox Code Playgroud)
这会每秒向我的系统磁盘上的文件中输出数万个字符串。
当它这样做时,鼠标滞后,TTY 变得无响应,应用程序“消失”并且通常整个计算机变得无法使用。当我最终可以 Control+C 时john
,系统会在几秒钟后恢复到最大强度。
这是一个极端的例子,但我也有类似的问题,比如从快速源复制大文件或转码等写入密集型活动略少。
我的主操作系统磁盘是一个非常快的 SSD(OCZ Agility 60GB),带有 EXT4。如果我john
使用 EXT4将的输出写入机械磁盘,我不会遇到同样的减速,尽管速度要慢得多(SSD 每秒执行约 42,000 个字,机械执行 8,000 w/s)。吞吐量可能是相关的。机械盘也与系统无关。这只是数据。
我使用的是 2.6.35-2 内核,但自从我得到这个 SSD 以来我就注意到了这个问题,当时我可能正在使用 .31 或大约那个时候的东西。
那么是什么导致了放缓?EXT4问题?内核问题?固态硬盘问题?上述所有的?还有什么?
如果您认为我需要运行额外的测试,只需发表评论告诉我该怎么做,我会将结果附加到问题中。
小智 12
一段时间以来,这一直是一个已知问题。使用像 Btrfs 这样的 SSD 调优 FS 可能会有所帮助,但也可能不会。
归根结底,这是 IO 调度程序/内存管理系统中的一个错误。最近,有一些补丁旨在解决这个问题。请参阅已修复:Linux 桌面响应问题?
这些补丁最终可能会进入主线内核,但就目前而言,如果要解决此问题,您可能必须编译自己的内核。