execsnoop排查ovs短时进程导致CPU升高
问题现象
节点CPU间隔一段时间后会冲高。
通过execsnoop捕捉到在创建网桥(删除网桥捕捉不到,因为删除时不需要确认状态)。
# 安装execsnoop
git clone --depth 1 https://github.com/brendangregg/perf-tools
./perf-tools/bin/execsnoop
# 安装ovs
yum install -y epel-release
yum install -y centos-release-openstack-train
yum install openvswitch libibverbs
systemctl start openvswitch
# 1U2G空载情况下连续创建200个网桥
for ((i=1; i<200; i++)) do ovs-vsctl add-br br$i; done
发现CPU吃满100%。
问题分析
./perf-tools/bin/execsnoop
-q --quiet:安静模式,查找不到模块时不显示错误
解决问题
# 间隔50ms停顿一下
for ((i=1; i<100; i++)) do sleep 0.05; ovs-vsctl add-br br$i; done