kvm实现cpu独立的案例

kvm实现cpu独立的案例
在客户机中提供领个图逻辑CPU计算能力,要求cpu资源独立被占用,而不受宿主机中其他客户机的负载水平的影响。为了满足如上需求
第一步:启动宿主机隔离出两个逻辑cpu专门供一个客户机使用。
在linux内核启动的命令行傻姑娘添加isolcpus= 的参数,实现cpu的歌里,是的在系统启动后普通进程默认都不会调度到北歌里的cpu上执行。
如下隔离了cpu2 和cpu3的grub的配置文件。

title Red Hat Enterprise Linux Server(3.5.0)
root(hd0,0)
kernel /boot/vmlinuz-3.5.0 ro root=UUID=xxxxxxxxxxxxxx isolcpus=2,3
initrd /boot/initramfs-3.5.0.img

Import
isolcpus=2,3

在系统启动后,在宿主机中检查是否隔离成功

ps -eLo psr | grep 0 | wc -l

ps -eLo psr | grep 1 | wc -l

ps -eLo psr | grep 2 | wc -l

如上命令可以显示cpu0 和cpu1 cpu2 上面分别运行的线程数量。
命令解释:ps 显示当前系统的进程信息
-e 参数显示所有的进程,-L 参数用于奖线程(LWP,light-weight proccss)也显示出来,-o 参数表示以用户自定义的格式输出(
psr,这列表示当前分配给进程运行的处理器编号, lwp 列表示线程的ID,ruser 表示运行进程的用户,pid表示进程的ID,ppid表示父进程id,args 表示运行的命令及其参数

启动客户机
/usr/libexc/qemu-kvm rhel6.img -smp 2 -m 512 -deamonize

查看代表vcpu的qemu线程

ps -eLo ruser,pid,ppid,lwp,psr,args | grep qemu | grep -v grep

pid 3963
ppid 3967,3968

绑定代表整个客户机的qermu进程,使其运行在cpu2上
taskset -p 0x4 3963

绑定第一个vcpu的线程,使其运行在cpu2上
taskset -p 0x4 3967

绑定第二个vcpu的线程,使其运行在cpu3上
taskset -p 0x8 3968


linux的进程处理器亲和性
在通常的SMP系统中,linux内核的进程调度器根据自有的调度策略将系统中的一个进程调度到某个CPU上执行,一个进程前一个执行时间时在cpuM(M 为系统中某个CPU的id)上执行,而在后一个执行时间上是在cpuN(N为系统中另一个CPU的id)上运行,这样的情况在linux中是很可能发生的。因为linux对进程执行的调度采用时间片法则(即用完自己的时间片立即暂停执行)在默认的情况下,一个普通进程或者线程的处理器亲和性体现在所有可用的CPU上,进程或线程有可能在这些CPU之中的任务一个(包括超线程)上执行。
进程的处理器亲和性 processor affinity,即cpu的绑定设置,是指将进程绑定到特定的一个活或者多个CPU上去执行,而不允许将进程调度到其他的CPU上。linux 内核对进程的调度算法也是遵守进程的处理器亲和性设置。设置进程的处理器亲和性带来的好处是可以减少进程在多个CPU之间交换运行带来的缓存命中失败(cache missing),从该进程运行的角度来看,可能带来一定程度上的性能提升。换个角度来看,对进程亲和性的设置也可能带来一定的问题,如 破坏了原有SMP系统中各个CPU的负载均衡(load balance),这可能会导致整个系统的进程调度变得低效。特别是在多处理器,多核多线程技术使用的情况下,在NUMA(Non-Uniform Memory Access)结构的系统中,如果不能基于对系统CPU,内存有深入的了解,对进程的处理器契合行设置反而导致系统的整体性能下降。

每个vcpu都是宿主机中的一个普通的qemu线程,可以使用taskset工具对其设置处理器亲和性,使其绑定到某一个或几个固定的CPU上去调度,尽管linux内核的进程调度算法已经非常高效了,在多数情况下不需要对其进程的调度进行干预,不过虚拟化环境中有时有必要将客户机的qemu进程或线程绑定到固定的逻辑CPU上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值