额 刚刚编辑完,结果没保存,然后·····只能重新总结一份。
我这个是在启动虚拟机之后,在虚拟机中跑DPDK,测试结果很不理想,然后我的领导说可以做CPU的隔离核绑定,然后做了之后发现确实效果有所提升。所以写一下小结。仅供大家参考。
1
、首先创建隔离核,在系统启动的时候在INTEL_IOMMU=OFF
那一行最后添加上isolcpus=2,3,4,5,6 隔离出5个核
2
、系统启动,检查host
上是否隔离成功,命令如下:
# ps –eLo ruser,pid,ppid,lwp,psr,args | awk ‘{if($5==
1) print $0}’
# ps –eLo ruser,pid,ppid,lwp,psr,args | awk ‘{if($5==
2) print $0}’
# ps –eLo ruser,pid,ppid,lwp,psr,args | awk ‘{if($5==
3) print $0}’
# ps –eLo ruser,pid,ppid,lwp,psr,args | awk ‘{if($5==
4) print $0}’
通过查看线程确定是否隔离,如果隔离成功,则只有几个线程。
3
、启动虚拟机之后,查看qemu
的线程
# ps –eLo ruser,pid,ppid,lwp,psr,args | grep qemu | grep –v grep
4
、绑定qemu
的进程,绑定核
# taskset –p 0x4 28423
# taskset –p 0x8 28424
5
、查看QEMU
绑定是否生效
# ps –eLo ruser,pid,ppid,lwp,psr,args | grep qemu | grep –v grep
6
、查看cpu2/3/4/5
上运行的线程
# ps –eLo ruser,pid,ppid,lwp,psr,args | awk ‘{if($5==
2) print $0}’
没什么技术含量,仅供大家参考。