第 12 章 使用 perf 和 Collect 对 OVS DPDK PMD CPU 使用情况进行故障排除并发送故障排除数据
- 先决条件使用本节中的步骤来安装故障排除工具。
在计算节点上安装
perf
:yum install perf -y
yum install perf -y
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装 Open vSwitch 调试 RPM:
subscription-manager repos --enable=rhel-7-server-openstack-13-debug-rpms
subscription-manager repos --enable=rhel-7-server-openstack-13-debug-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装 sysstat(需要
pidstat
命令):yum install sysstat -y
yum install sysstat -y
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.1. 诊断 复制链接链接已复制到粘贴板!
使用本节中的步骤对数据进行故障排除并收集数据。
12.1.1. pmD Threads 复制链接链接已复制到粘贴板!
确定 PMD 线程的位置:
IFS=$'\n' ; for l in $(ps -T -p `pidof ovs-vswitchd` | grep pmd);do PID=`echo $l | awk '{print $2}'`; PMD=`echo $l | awk '{print $NF}'` ; PCPU=`taskset -c -p $PID | awk '{print $NF}'` ; echo "$PMD with PID $PID in on pCPU $PCPU"; done
IFS=$'\n' ; for l in $(ps -T -p `pidof ovs-vswitchd` | grep pmd);do PID=`echo $l | awk '{print $2}'`; PMD=`echo $l | awk '{print $NF}'` ; PCPU=`taskset -c -p $PID | awk '{print $NF}'` ; echo "$PMD with PID $PID in on pCPU $PCPU"; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在重现问题时,请运行 perf 记录和 perf 报告并保存输出。
创建 script
gather_perf_data_a.sh
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行脚本:
chmod +x gather_perf_data_a.sh ./gather_perf_data_a.sh
chmod +x gather_perf_data_a.sh ./gather_perf_data_a.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
可使用 perf report -i ${archive_name}
读取报告。如果出现这种情况,在红帽支持中打开,请将生成的 tar 归档附加到问题单中。
12.1.2. 附加数据 复制链接链接已复制到粘贴板!
创建 script
gather_perf_data_b.sh
以收集其他数据:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 执行脚本:
chmod +x gather_perf_data_b.sh ./gather_perf_data_b.sh
chmod +x gather_perf_data_b.sh ./gather_perf_data_b.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意确保有足够的磁盘空间。'perf.data' 文件可占用几个 Gigabytes 磁盘空间。
如果是红帽支持问题单,请将生成的 tar 归档附加到该问题单中。
12.1.3. Open vSwitch 日志 复制链接链接已复制到粘贴板!
提供所有 Open vSwitch(OVS)日志。确定
/var
有足够的磁盘空间。使用df -h
确定 /var 和du -sh /var/log/openvswitch
上的可用磁盘空间,以确定 OVS 日志的总大小。tar -cvzf /var/openvswitch_`hostname`_`date +"%F_%H%M%S"`.tar.gz /var/log/openvswitch
tar -cvzf /var/openvswitch_`hostname`_`date +"%F_%H%M%S"`.tar.gz /var/log/openvswitch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将生成的文件(例如
/var/openvswitch_overcloud-compute-0_2018-02-27_153713.tar.gz
)附加到用于分析的支持问题单中。 生成并提供 sosreport。确定
/var
有足够的磁盘空间。使用df -h
确定/var
上的可用磁盘空间。sosreport --batch --all-logs
sosreport --batch --all-logs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow