lsblk -T 仅显示块设备树状拓扑,无法查看I/O调度算法、最大I/O大小或队列深度;需通过sysfs路径分别读取/scheduler、/max_hw_sectors_kb和/queue_depth等参数。

lsblk -T 并不能显示块设备的排队调度算法、最大I/O大小或I/O队列深度。这是常见误解。
lsblk(list block devices)是一个用于展示块设备拓扑结构的工具,-T 选项仅启用树状缩进格式(tree view),它不读取或暴露内核 I/O 调度器参数、队列深度或硬件 I/O 限制等底层信息。
要获取你关心的三项关键 I/O 队列信息,需使用其他专用接口:
1. 查看当前 I/O 调度算法(queue scheduler)
Linux 块设备的调度器(如 mq-deadline、kyber、none 等)由 blk-mq 框架管理,配置位于 sysfs:
cat /sys/block/sda/queue/scheduler
输出示例:
[none] mq-deadline kyber
方括号内为当前激活的调度器。
✅ 注意:
sda需替换为你的实际设备名(可用lsblk先确认)。NVMe 设备通常固定使用none(绕过软件调度,由硬件自身处理);传统 SATA SSD/HDD 可能为mq-deadline或kyber。
2. 查看最大 I/O 请求大小(max_hw_sectors_kb 或 max_segments)
最大单次 I/O 大小受硬件与驱动限制,主要看两个值:
-
硬件支持的最大扇区数(KB):
cat /sys/block/sda/queue/max_hw_sectors_kb
输出如
262144→ 表示最大 256 MiB 单请求(较新 NVMe 常见)。 -
实际生效的软限制(常为 min(max_hw_sectors_kb, logic limit)):
cat /sys/block/sda/queue/max_sectors_kb
⚠️
max_hw_sectors_kb是真正反映底层能力的指标;max_sectors_kb可被内核或 udev 规则临时调整。
3. 查看 I/O 队列深度(queue depth)
队列深度分两类,均在 sysfs 中:
-
硬件队列深度(per-hardware-queue)(对 NVMe 尤其重要):
# NVMe 设备(如 nvme0n1) cat /sys/block/nvme0n1/device/queue_depth # 或查看每个具体硬件队列(如 0~7 号 queue): ls /sys/block/nvme0n1/device/queue/ cat /sys/block/nvme0n1/device/queue/0/depth
-
软件多队列(blk-mq)总深度(nr_requests)与每队列深度(nr_requests_per_hw_queue):
cat /sys/block/sda/queue/nr_requests # 总待处理请求数上限(默认 256) cat /sys/block/sda/queue/nr_requests_per_hw_queue # 若支持 blk-mq,部分内核提供
? 提示:
nr_requests是软件层总并发请求数限制,非硬件深度;真正影响并行吞吐的是硬件队列深度(如 NVMe 的queue_depth)和 CPU 绑定的硬件队列数量。
快速汇总命令(替换 sda/nvme0n1 为你设备)
DEV=sda echo "Scheduler: $(cat /sys/block/$DEV/queue/scheduler 2>/dev/null)" echo "Max HW sectors (KB): $(cat /sys/block/$DEV/queue/max_hw_sectors_kb 2>/dev/null)" echo "Max sectors (KB): $(cat /sys/block/$DEV/queue/max_sectors_kb 2>/dev/null)" echo "NR requests: $(cat /sys/block/$DEV/queue/nr_requests 2>/dev/null)" # 若是 NVMe if [ -d "/sys/block/$DEV/device" ]; then echo "NVMe queue depth: $(cat /sys/block/$DEV/device/queue_depth 2>/dev/null)" fi
不复杂但容易忽略:这些参数全由内核通过 sysfs 动态导出,无需安装额外工具,也无需 root(只读权限即可查看)。lsblk 是“看结构”的工具,不是“查队列”的工具——别让它背锅 ?


















