温馨提示×

Linux dropped与磁盘性能有关

小樊
41
2026-01-11 07:12:30
栏目: 智能运维

Linux dropped与磁盘性能的关系

一、概念澄清

  • 在 Linux 性能语境中,dropped通常出现在两类统计里:
    1. 网络接口的 RX/TX dropped(如 ifconfig/ethtool 显示的 dropped 计数);
    2. 块设备层的一些计数(如某些驱动或监控工具展示的 dropped I/O)。
  • 其中,网络 dropped 与磁盘并无直接因果关系,它更多与 网卡 Ring Buffer、CPU 中断处理、驱动队列、带宽拥塞 等因素相关;而块设备层的 dropped(若工具展示)才可能与 I/O 饱和、队列溢出、设备错误 有关。因此,看到“dropped”先要分清是网络还是磁盘,再决定排查路径。

二、网络 dropped 与磁盘性能的关系

  • 间接影响是可能的:当 磁盘 I/O 高占用 导致系统整体负载升高、CPU 软中断/硬中断处理不及时 或发生 内存紧张引发 swap 时,网卡 Ring Buffer 可能来不及被内核取走,从而出现 RX dropped。这类现象的本质是资源竞争与调度延迟,而非磁盘直接丢包。排查要点:
    • ifconfig/ethtool -S 观察 RX dropped / RX overruns 的增长;
    • iostat -x 1 检查 %util、await、svctm 是否长期接近饱和;
    • vmstat 1 关注 si/so(swap 活动);
    • 必要时用 top/htop 看软/硬中断集中情况,检查 中断亲和性RPS/XPS 配置。
      结论:网络 dropped 多由网络栈与 CPU/内存瓶颈引起,磁盘 I/O 只是可能的“间接触发因素”。

三、磁盘相关的 dropped 与性能瓶颈

  • 若“dropped”来自块设备或 I/O 工具(例如某些监控项显示 I/O dropped),通常与以下磁盘问题相关:
    • 设备/队列饱和iostat -x 1%util≈100%await 明显升高,说明后端已无法及时服务新请求,队列可能溢出,表现为 I/O 超时/失败或工具计数增长;
    • I/O 调度器不匹配SSD/NVMe 更适合 none/kyber,而 HDD 更适合 mq-deadline,错误的调度器会放大延迟与抖动;
    • 文件系统与挂载选项:如未启用 noatime/nodiratime 会增加写放大,未启用 discard/TRIM 的 SSD 长期会掉速,极端场景会放大 I/O 延迟波动;
    • 写回压力与脏页阈值:不合理的 vm.dirty_ratio / vm.dirty_background_ratio 会导致突发写回风暴,叠加慢盘时更易出现超时与失败。
      优化要点:
    • 选型与调度:SSD/NVMe 用 none/kyber,HDD 用 mq-deadline
    • 挂载:使用 noatime,nodiratime,SSD 启用 discard(或定期 fstrim),在具备掉电保护时再考虑 data=writeback/barrier=0
    • 内核参数:适度降低 vm.dirty_background_ratio / vm.dirty_ratio,降低写回突发;
    • 硬件侧:优先 SSD/NVMe,并关注 SMART 健康与 温度(NVMe 过热会触发限速)。
      上述做法可显著降低 I/O 饱和与抖动,减少因后端拥塞导致的“dropped/超时”类现象。

四、快速判断与排查步骤

  • 第一步:确认“dropped”归属
    • 网络:运行 ifconfig/ethtool -S ,看 RX dropped / RX overruns
    • 磁盘:运行 iostat -x 1,看 %util、await、svctm 与设备错误计数。
  • 第二步:关联负载与资源
    • 运行 vmstat 1,关注 si/so(是否因内存压力引发 swap);
    • 运行 top/htop,观察 si/hi(软/硬中断)是否集中在某些 CPU。
  • 第三步:定位 I/O 饱和与队列问题
    • %util≈100%await 高,说明后端饱和;结合 iostat 按设备与分区定位热点进程(配合 iotop)。
  • 第四步:针对性优化
    • 存储类型匹配 I/O 调度器
    • 调整 脏页阈值 平滑写回;
    • 启用 noatime/nodiratime/TRIM
    • 检查 SMART/温度 与硬件健康。
  • 第五步:若确认是网络 dropped
    • 优化 中断亲和性/RPS/XPS、队列与驱动参数,排查带宽拥塞与配置错误。
      以上步骤能在分钟级定位“dropped”是网络栈问题还是磁盘 I/O 瓶颈,并给出对应优化方向。

0