记录一下用blktrace来获取命令大小的方法。
- 首先blktrace 的安装
sudo apt install blktrace - 开一个terminal 1,挂载盘
sudo blktrace -d /dev/nvme0n1 - 再开一个terminal 2,进行 fio 测试
sudo fio -name=global -filename=/dev/nvme0n1 -ioengine=libaio -direct=1 -thread -name=sequential_read -bs=1536 -iodepth=1 -numjobs=1 -rw=write -size=4096 -verify=pattern -verify_pattern=0x11 -do_verify=1 - 用 hexdump 可以查看写下的数据
sudo hexdump /dev/nvme0n1 -n 8192
- 解析和查看blktrace文件
ctrl+C 停止terminal1,然后sudo blkparse -i nvme0n1 -d nvme0n1.blktrace.bin -o nvme_data,会在当前目录下生成nvme_data 文件,查看文件即可。
可以看到,只发了两笔 1.5k 命令,是因为创建的ns 大小为4K,不能超过max lba。
文章介绍了如何利用blktrace工具监控NVMe设备的命令大小。首先通过sudoaptinstallblktrace安装blktrace,然后挂载设备如/dev/nvme0n1。在另一个终端运行fio测试,设置相应的参数如direct=1,bs=1536等进行写操作。接着用hexdump查看写入的数据,并在停止blktrace后,通过blkparse解析输出文件以查看详细信息。由于ns大小限制,测试中只发出了1.5k的命令。
1842

被折叠的 条评论
为什么被折叠?



