You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04下NVMe SSD异常卡顿过热,手动执行fstrim后恢复,如何判断NVMe是否需要TRIM?

Ubuntu 22.04下NVMe SSD异常卡顿过热,手动执行fstrim后恢复,如何判断NVMe是否需要TRIM?

咱们先拆解你遇到的问题根源,再一步步讲怎么判断NVMe是否需要TRIM:

一、你的SSD异常问题到底是什么原因?

你这次遇到的卡顿、过热甚至只读模式,本质是NVMe SSD的垃圾回收(GC)压力过载导致的:

  • 你在11月13日自动TRIM执行后,16日一次性写入了600GB的大量文件,这个过程中产生了巨量「已被系统标记为删除,但SSD还没收到TRIM指令、没把这些块标记为可复用」的无效空间
  • Ubuntu默认的fstrim.service是每周自动执行一次,而你不常重启系统,这三天里自动TRIM还没到触发时间,SSD的GC只能反复处理这些未被标记的无效块——这个过程会占用大量磁盘资源,导致性能暴跌、温度飙升,甚至触发SSD的只读保护机制来避免数据损坏
  • 你手动执行fstrim -av后,一次性标记了2.9TiB的无效块,GC终于能高效工作,所以SSD立刻恢复了正常性能

从你的日志也能佐证:11月13日自动TRIM处理了2.9TiB,16日手动TRIM又处理了差不多的量,说明这三天内确实产生了巨量的无效数据;而20日的自动TRIM只处理了31.5GiB,这就是正常状态下的TRIM量。

二、怎么判断NVMe是否需要手动执行TRIM?

可以从这几个实用维度来判断:

  1. 直观的系统表现

    • 如果磁盘突然变得卡顿,打开文件、执行读写操作时响应极慢,同时SSD温度远高于平时(比如你平时35℃,突然涨到70℃+),大概率是需要TRIM了
    • 磁盘直接进入只读模式,这是SSD的最后保护手段,几乎肯定是GC压力过载导致的,优先试试手动TRIM
  2. 查看TRIM历史日志

    • 用这个命令看每次TRIM处理的空间大小:
      journalctl | grep "fstrim.*/:"
      
      如果最近一次自动TRIM处理了几百GB甚至几TB的空间,而之后你又做了大量文件写入/删除操作,那可以考虑手动触发TRIM
    • 也可以用这个命令确认自动TRIM的执行时间和状态:
      cat /var/log/syslog | grep -a fstrim
      
  3. 结合SMART数据判断

    • 执行sudo smartctl -a /dev/nvme0查看SSD健康状态,重点关注:
      • Percentage Used:你的是0%,说明SSD损耗极低,硬件没问题
      • Data Units Written:如果近期这个数值暴涨(比如几天内增加了几百GB),而自动TRIM还没执行,那大概率需要手动TRIM
      • 只要SMART overall-health self-assessment test result: PASSED,就说明硬件本身没故障,优先考虑TRIM问题
  4. 预查可TRIM空间(干运行)

    • 用这个命令可以查看如果执行TRIM会处理多少空间,不会真的执行TRIM:
      fstrim --verbose --dry-run /
      
      如果输出的数值很大(比如几百GB以上),说明当前有大量无效块等待被标记,适合手动执行TRIM

三、要不要调整自动TRIM的频率?

因为你不常重启系统,每周一次的自动TRIM可能跟不上你的使用节奏(比如经常有大文件写入/删除),可以把自动TRIM改成每天执行:

  1. 编辑fstrim的定时器配置:
    sudo nano /etc/systemd/system/timers.target.wants/fstrim.timer
    
  2. 把OnCalendar=weekly改成OnCalendar=daily,保存退出
  3. 重新加载systemd配置并重启定时器:
    sudo systemctl daemon-reload
    sudo systemctl restart fstrim.timer
    

备注:内容来源于stack exchange,提问作者sotirov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 08:43:09