苏州模板做网站,汝城网站建设公司,设计上海2023展会时间,报个电脑培训班多少钱文章目录 SCSI日志调试功能scsi_logging_level调整SCSI日志等级 SCSI trace events使能SCSI trace events方式一#xff1a;通过set_event接口方式二#xff1a;通过enable 跟踪trace信息 相关参考 SCSI日志调试功能
SCSI子系统支持内核选项CONFIG_SCSI_LOGGING配置日志调试… 文章目录 SCSI日志调试功能scsi_logging_level调整SCSI日志等级 SCSI trace events使能SCSI trace events方式一通过set_event接口方式二通过enable 跟踪trace信息 相关参考 SCSI日志调试功能
SCSI子系统支持内核选项CONFIG_SCSI_LOGGING配置日志调试功能
scsi_logging_level
scsi_logging_level定义为一个4字节的值表示了SCSI的各种日志类型及对应的日志等级
unsigned int scsi_logging_level;scsi_logging_level被分成10个3位的字段每个字段定义为一种日志类型字段取值范围为07表示了对应日志类型的打印等级。SCSI支持的日志类型如下
SCSI_LOG_ERRORSCSI_LOG_TIMEOUT_BITSSCSI_LOG_SCAN_BITSSCSI_LOG_MLQUEUE_BITSSCSI_LOG_MLCOMPLETE_BITSSCSI_LOG_LLQUEUE_BITSSCSI_LOG_LLCOMPLETE_BITSSCSI_LOG_HLQUEUE_BITSSCSI_LOG_HLCOMPLETE_BITSSCSI_LOG_IOCTL
调整SCSI日志等级
SCSI日志调试可以通过修改/proc/sys/devscsi/logging_level进行控制
echo bitmask /proc/sys/dev/scsi/logging_level # 0表示关闭-1表示全开通过proc文件系统的方式需要手动计算bitmask相对比较繁琐lsscsi软件包提供了scsi_logging_level命令行工具来控制SCSI子系统的打印等级
-s, --set设置SCSI日志类型打印等级
-g, --get 获取当前SCSI日志类型等级设置
-a, --all设置所有SCSI日志类型的打印等级
-E, --error 设置SCSI_LOG_ERROR的打印等级
-T, --timeout设置SCSI_LOG_TIMEOUT的打印等级
-S, --scan设置SCSI_LOG_SCAN的打印等级
-M, --midlevel设置SCSI_LOG_MLQUEUE和SCSI_LOG_MLCOMPLETE的打印等级--mlqueue设置SCSI_LOG_MLQUEUE的打印等级--mlcomplete设置SCSI_LOG_MLCOMPLETE的打印等级
-L, --lowlevel设置SCSI_LOG_LLQUEUE和SCSI_LOG_LLCOMPLETE的打印等级--llqueue设置SCSI_LOG_LLQUEUE的打印等级--llcomplete设置SCSI_LOG_LLCOMPLETE的打印等级
-H, --highlevel设置SCSI_LOG_HLQUEUE和SCSI_LOG_HLCOMPLETE的打印等级--hlqueue设置SCSI_LOG_HLQUEUE的打印等级--hlcomplete设置SCSI_LOG_HLCOMPLETE的打印等级
-I, --ioctl设置SCSI_LOG_IOCTL的打印等级scsi_logging_level命令使用示例
SCSI trace events
SCSI子系统注册了一些trace events这些trace events可以用来跟踪特定路径上的行为已支持的trace events有 这些trace events也可以在/sys/kernel/debug/tracing/events/scsi目录下找到
使能SCSI trace events
方式一通过set_event接口
* 使能特定的eventecho scsi_dispatch_cmd_done /sys/kernel/debug/tracing/set_event
* 使能SCSI系统的所有eventecho scsi:* /sys/kernel/debug/tracing/
* 禁用特定的eventecho !scsi_dispatch_cmd_done /sys/kernel/debug/tracing/set_event 方式二通过enable
* 使能特定的eventecho 1 /sys/kerne/debug/tracing/events/scsi/scsi_dispatch_cmd_done/enable
* 使能SCSI系统的所有eventecho 1 /sys/kernel/debug/tracing/event/scsi/enable
* 禁用特定的eventecho !scsi_dispatch_cmd_done /sys/kernel/debug/tracing/set_event 跟踪trace信息
SCSI子系统注册的trace events有限只能查看位于IO请求下发、返回的一些信息对于日常问题定位可能帮助不大但可以辅助用来分析SCSI的运行流程。
相关参考
《存储技术原理分析基于Linux 2.6内核源代码分析》深入浅出SCSI子系统Tracing event