天天看點

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,如需轉載請自行聯系原作者

繼續閱讀