Ubuntu 22.04启用加密后性能异常缓慢(SSD I/O问题)
兄弟,我之前在同款Mid-2013款MacBook Air上装加密Ubuntu时,也碰到过一模一样的糟心事!看你描述的症状——磁盘占用率拉满但读写速率只有0.1-0.2MB/s,CPU和内存都闲着,完全是加密磁盘在小文件密集操作时触发的I/O瓶颈问题,给你几个亲测有效的排查和解决方向:
先换个磁盘I/O调度器试试
老款Mac的SSD对默认的cfq调度器兼容性很差,加密后会把这个问题放大到没法用的程度。你可以先临时换成mq-deadline调度器试试:echo mq-deadline | sudo tee /sys/block/sda/queue/scheduler要是换完后apt安装、Snap更新这些操作立刻变快了,就把设置永久生效:编辑
/etc/default/grub,找到GRUB_CMDLINE_LINUX_DEFAULT这一行,改成:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=mq-deadline"然后执行
sudo update-grub,重启电脑就搞定了。检查加密磁盘的扇区对齐情况
老Mac的SSD分区如果没对齐,加密后小文件I/O会直接崩。你用这条命令看对齐状态:lsblk -o NAME,PHY-SeC,LOG-SeC,MIN-IO,OPT-IO,ALIGNMENT重点看
ALIGNMENT列,要是显示1就是100%对齐,没问题;要是小于1,说明分区没对齐——这个调整起来有点麻烦(可能需要重新分区),先把其他方法都试了再考虑这个。调整加密磁盘的队列参数
加密设备的队列深度默认可能太小,导致小文件排队堵死。先确认你的加密设备路径(用lsblk看,一般是dm-0),然后调整队列深度:echo 32 | sudo tee /sys/block/dm-0/queue/nr_requests另外记得确认AES-NI硬件加速有没有真正启用,执行:
cryptsetup status sda3_crypt输出里要看到
cipher: aes-xts-plain64和used: hardware,说明硬件加速在正常工作——你CPU支持AES-NI,这个应该没问题,但确认下更放心。换掉Snap版软件,改用Deb包
你提到用Software Center的Snap更新Firefox时卡爆,这太正常了——Snap的包结构是大量小文件,加密磁盘上处理这种场景天生就慢,还容易触发低速率bug。你可以换回Deb版Firefox:- 先卸载Snap版:
sudo snap remove firefox - 添加Mozilla官方PPA:
sudo add-apt-repository ppa:mozillateam/ppa - 安装Deb版:
sudo apt install firefox
以后用apt安装软件也会比Snap稳很多,尤其在加密磁盘上。
- 先卸载Snap版:
检查SSD的健康状态
虽然你用dd测大文件读写正常,但老SSD可能有局部坏块或者磨损问题。用smartctl看看健康状态:sudo smartctl -a /dev/sda重点看这几个SMART指标:
- 5(Reallocated_Sector_Ct):非0的话说明有坏块被重映射
- 197(Current_Pending_Sector):非0的话有待修复的扇区
- 198(Offline_Uncorrectable):非0的话有无法修复的坏块
要是这些数值都为0,说明SSD硬件没问题,还是系统配置的锅。
你可以先从I/O调度器和换Deb包这两个操作开始试,风险低见效快。我当年就是换了调度器、弃用Snap后,系统直接从“卡成PPT”变回流畅可用的状态。
备注:内容来源于stack exchange,提问作者manomiddle

