Ran*_*mBK 7 linux io debian freeze
我在四核 i7 处理器上运行 Debian Jessie,由于超线程,这导致显示 8 个内核。在磁盘繁重的负载上,所有八个内核都通过 io-wait 达到最大值,如 htop 所示。这导致界面非常缓慢(我使用 Gnome),并且系统有时会完全冻结,直到 I/O 完成。
我应该如何诊断这个?我可以调整哪些设置来防止这种情况发生?
我使用单个硬盘,并且 SMART 检查表明它是健康的。
编辑:为了澄清一些事情,我对加速 I/O 不感兴趣。我只想让它在后台运行,而我做其他事情。升级到 SSD 目前对我来说不是一个选择。
有多种方法可以调整 I/O 性能。
文件系统选择 - 根据典型数据的情况选择文件系统 - 有些文件系统可以更好地处理大量较小的文件,有些可以很好地处理大文件,有些在一次访问(尤其是创建)多个文件时不能很好地扩展。碎片整理可能对旋转盘驱动器有帮助(对基于闪存的设备没有那么多帮助,但差异应该仍然存在)。
文件系统调整——现代文件系统具有大量选项(创建时和安装时),这些选项可以向一个或另一个方向推动文件系统的性能。最好的例子就是如何写日记。
DMA 设置 - 虽然这已经自动完成很多年了,但检查它总没有坏处(这hdparm -i
是你的朋友)。
具体针对 Linux(但对于其他内核也可能类似):
THP - 透明大页用于导致性能下降。IIRC 该问题不久前已得到解决(至少在某种程度上)。如果复制到 USB 或从 USB 复制是问题,您可能应该朝这个方向看。禁用透明大页可能是如何禁用 THP 的一个很好的起点。
内核 I/O 调度程序对性能影响很大。有些人主张使用 Deadline 调度程序而不是 CFQ,CFQ 更复杂,有时据称往往会想得太多。
除此之外,在某些情况下,会发生大量 I/O。当您开始将文件从 USB 存储卡读卡器复制到硬盘驱动器、从硬盘驱动器复制到 USB 闪存盘时,浏览网页(某些浏览器可能会fsync()
很重,以确保在崩溃时可以恢复内容)、下载电子邮件、运行P2P客户端和播放电影同时进行,物理磁盘和文件系统就会成为瓶颈。在某些情况下,精心构建(使用适当的条带大小和组成驱动器数量读取)RAID0 可能有助于缓解问题。
归档时间: |
|
查看次数: |
3983 次 |
最近记录: |