为什么 Ubuntu 在高 IO(读/写)操作期间变得无响应?

kin*_*ien 5 unity disk-usage 14.04

两个示例案例:

  • 示例 1:安装外部未加密驱动器(GPT、ext4)并从计算机的 SSD(GPT、ext4)复制 8GB 文件 -> 整个 GUI 将变得无响应。没有输入设备工作。
  • 示例 2:使用 Virtualbox 启动 40GB 虚拟机 -> 整个 GUI 将变得无响应。没有输入设备工作。

使用iotop我可以看到这些磁盘读/写操作占用了100%的CPU。

在移动大数据时如何避免计算机无响应?

kin*_*ien 3

由于未知原因,I/O 调度程序已从默认配置(cfq - 完全公平排队)更改为Deadline

由于我安装了tlp 工具来降低功耗,因此我的解决方案是将所有驱动器的调度程序设置回默认值/etc/default/tlp

...
# Select io scheduler for the disk devices: noop/deadline/cfq (Default: cfq)
# Separate values for multiple devices with spaces.
#DISK_IOSCHED="cfq cfq"
...
Run Code Online (Sandbox Code Playgroud)

在此部分中,您取消注释最后一行:

DISK_IOSCHED="cfq cfq"
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用以下命令执行相同的操作:

sudo sed -i 's/#DISK_IOSCHED/DISK_IOSCHED/' /etc/default/tlp
Run Code Online (Sandbox Code Playgroud)