天天看点

KVM libvirt的CPU热添加

1、CentOS7.3:

需求:说明:默认有两个cpu,由于压力较大的情况下,需要在线添加一个1个cpu

添加cpu前,查看cpu信息

<code>[root@localhost ~]</code><code># cat /proc/cpuinfo </code>

<code>processor: 0</code>

<code>vendor_id: GenuineIntel</code>

<code>cpu family: 6</code>

<code>model: 58</code>

<code>model name: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz</code>

<code>stepping: 9</code>

<code>microcode: 0x1</code>

<code>cpu MHz: 2494.342</code>

<code>cache size: 4096 KB</code>

<code>physical </code><code>id</code><code>: 0</code>

<code>siblings: 1</code>

<code>core </code><code>id</code><code>: 0</code>

<code>cpu cores: 1</code>

<code>apicid: 0</code>

<code>initial apicid: 0</code>

<code>fpu: </code><code>yes</code>

<code>fpu_exception: </code><code>yes</code>

<code>cpuid level: 13</code>

<code>wp: </code><code>yes</code>

<code>flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon rep_good nopl pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm fsgsbase tsc_adjust smep</code>

<code>bogomips: 4988.68</code>

<code>clflush size: 64</code>

<code>cache_alignment: 64</code>

<code>address sizes: 42 bits physical, 48 bits virtual</code>

<code>power management:</code>

在线添加cpu信息:

<code>virsh setvcpus CentOS-7.3-X86_64 2 --live    (将cpu的在线个数调整为3个)</code>

添加后进行比对:

<code>[root@localhost ~]</code><code># cat /proc/cpuinfo</code>

<code>processor: 1</code>

<code>physical </code><code>id</code><code>: 1</code>

<code>apicid: 1</code>

<code>initial apicid: 1</code>

<code>[root@localhost ~]</code><code># cat /proc/interrupts </code>

<code>           </code><code>CPU0       CPU1       </code>

<code>  </code><code>0:        679          0   IO-APIC-edge      timer</code>

<code>  </code><code>1:         10          0   IO-APIC-edge      i8042</code>

<code>  </code><code>6:          3          0   IO-APIC-edge      floppy</code>

<code>  </code><code>8:          0          0   IO-APIC-edge      rtc0</code>

<code>  </code><code>9:          1          0   IO-APIC-fasteoi   acpi</code>

<code> </code><code>10:         28          0   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb2</code>

<code> </code><code>11:       2930          0   IO-APIC-fasteoi   uhci_hcd:usb3, uhci_hcd:usb4, virtio3</code>

<code> </code><code>12:         15          0   IO-APIC-edge      i8042</code>

<code> </code><code>14:       3348          0   IO-APIC-edge      ata_piix</code>

<code> </code><code>15:          0          0   IO-APIC-edge      ata_piix</code>

<code> </code><code>24:          0          0   PCI-MSI-edge      virtio0-config</code>

<code> </code><code>25:       1707          0   PCI-MSI-edge      virtio0-input.0</code>

<code> </code><code>26:          1          0   PCI-MSI-edge      virtio0-output.0</code>

<code> </code><code>27:          0          0   PCI-MSI-edge      virtio2-config</code>

<code> </code><code>28:       5807          0   PCI-MSI-edge      virtio2-req.0</code>

<code> </code><code>29:          0          0   PCI-MSI-edge      virtio1-config</code>

<code> </code><code>30:          3          0   PCI-MSI-edge      virtio1-virtqueues</code>

<code>NMI:          0          0   Non-maskable interrupts</code>

<code>LOC:      74004        208   Local timer interrupts</code>

<code>SPU:          0          0   Spurious interrupts</code>

<code>PMI:          0          0   Performance monitoring interrupts</code>

<code>IWI:       5362          6   IRQ work interrupts</code>

<code>RTR:          0          0   APIC ICR </code><code>read</code> <code>retries</code>

<code>RES:         20         61   Rescheduling interrupts</code>

<code>CAL:          0         89   Function call interrupts</code>

<code>TLB:          0          3   TLB shootdowns</code>

<code>TRM:          0          0   Thermal event interrupts</code>

<code>THR:          0          0   Threshold APIC interrupts</code>

<code>DFR:          0          0   Deferred Error APIC interrupts</code>

<code>MCE:          0          0   Machine check exceptions</code>

<code>MCP:         12          1   Machine check polls</code>

<code>ERR:          0</code>

<code>MIS:          0</code>

<code>PIN:          0          0   Posted-interrupt notification event</code>

<code>PIW:          0          0   Posted-interrupt wakeup event</code>

2、Win2012:

<code>setvcpus win2012 2 --live</code>

<code>不需要进行激活操作,系统会自动识别新的CPU</code>

3、注意事项

a、KVM虚拟化不能在线减少CPU,cpu热添加技术适合不能停机但是cpu性能严重不足的场景

b、CPU热添加的技术对宿主机以及虚拟机操作系统版本要求较高

c、CPU热添加,总数不能大于最大CPU个数

 &lt;vcpu placement='auto' current=‘1’&gt;4&lt;/vcpu&gt;

本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1926139,如需转载请自行联系原作者

继续阅读