Linux下直接写盘操作卡死整个系统UI,如何解决?

 蒋小宁蒋小羊 发布于 2022-11-07 18:44

我的需求是把一个镜像文件写进TF卡。镜像大小3~4G。我在终端下用命令行操作,具体是这样:

sudo dd if=2013-09-25-wheezy-raspbian.img of=/dev/sdx # sdx根据实际情况

现在出现的问题是:写入镜像一开始还正常,写了一会儿之后系统的所有鼠标、键盘、视频播放等所有用户界面的操作全部、完全卡死。系统平均负载飚到10.0以上。

如果拔掉读卡器,则随着写卡失败,系统立刻恢复顺畅运行。

用了以下办法无效:

  • 不用sudo命令,直接用su命令进入root终端操作
  • nice命令降低dd的优先级
  • pv管道命令把速度卡在15MB/s

我记得当初在Windows下写卡的时候,完全可以把写卡程序扔到后台不管,前台该做什么做什么。

我不相信Linux做不到这一点。特上sf求教:如何解决这个问题?

操作系统:openSUSE 13.1 64bit
桌面环境:XFCE
根文件系统:btrfs
uname -a:Linux pc-776.localdomain 3.11.6-4-desktop #1 SMP PREEMPT Wed Oct 30 18:04:56 UTC 2013 (e6d4a27) x86_64 x86_64 x86_64 GNU/Linux
TF卡:Sandisk Ultra Class10 8GB,普通读卡器,实测有20MB/s写速度
硬件:H67主板,i3三代CPU,4G DDR3 1333内存,500G普通机械硬盘

3 个回答
  • 建议试试将IO调度器改为deadline:
    echo deadline > /sys/block/sdX/queue/scheduler
    可以通过调整IO调度器的方法来稍作改善。

    2022-11-12 01:41 回答
  • @依云 的提示极其有用,完美的抓到了问题所在,非常感谢!

    问题就出在iotop中,无关进程snapperd高居榜首:

    这个进程总是在请求IO,不仅造成了dd崩溃,并且还造成了平时无事可做时硬盘灯也是常亮的。

    查了一下,都怪我爱尝鲜,用了LVM+btrfs这种过于先锋的文件系统。而openSUSE如果安装时用的是btrfs,则会自动启用snapper软件。

    http://forums.opensuse.org/english/get-technical-help-here/pre-release-beta/491728-13-1-rc2-snapperd-high-i-o-cpu-usage.html

    @tosiara Before deciding to try btrfs did you not read any official documentation e.g openSUSE 12.3: Chapter 4. Snapshots/Rollback with Snapper

    Yes, I know it's for 12.3. In particular see 4.2 where it states:

    If you set up the root partition with Btrfs during the installation, Snapper—pre-configured for doing rollbacks of YaST or zypper changes—will automatically be installed.

    这个相当于文件系统的“月光宝盒”,每小时备份、清理一次文件系统的snapshot……禁用掉snapper的自动运行(暂时没敢彻底卸掉)一切都清净了。

    2022-11-12 01:41 回答
  • 没遇到过这种情况。在变得很卡的时候(或者之前),使用 dstatiotop -o 查看一下,主要是 CPU 和 I/O 部分。另外,使用 dd 记得指定合适的 bs,比如 bs=10M

    2022-11-12 01:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有