Numa
===
- numa的用途
解决SMP架构下,多个CPU争抢总线,总线成为瓶颈的问题。
numa(non-uniform memory access)。
numa思路为将内存和cpu分割为多个区域,每个区域叫做node。然后将node高速互联。
node内cpu与内存访问速度快于访问其他node的内存。
操作系统也需要感知numa,并进行访存的优化。(通过ACPI感知)
***
服务器numa状况查看:
<pre>
linux-848:~ # numactl --hardware
available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23
node 0 size: 98278 MB
node 0 free: 95589 MB
node 1 cpus: 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31
node 1 size: 98304 MB
node 1 free: 95770 MB
node distances:
node 0 1
0: 10 20
1: 20 10
</pre>
***
虚拟机情况下,qemu需要根据numa结构,对分配的内存和CPU进行控制。
从而性能达到最优。
参考:
numa介绍:
http://www.ibm.com/developerworks/cn/linux/l-numa/
vmware numa策略:
http://pubs.vmware.com/vsphere-4-esx-vcenter/index.jsp#using_numa_systems_with_esx_esxi/c_resource_management_in_numa_architectures.html
===
- numa的用途
解决SMP架构下,多个CPU争抢总线,总线成为瓶颈的问题。
numa(non-uniform memory access)。
numa思路为将内存和cpu分割为多个区域,每个区域叫做node。然后将node高速互联。
node内cpu与内存访问速度快于访问其他node的内存。
操作系统也需要感知numa,并进行访存的优化。(通过ACPI感知)
***
服务器numa状况查看:
<pre>
linux-848:~ # numactl --hardware
available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23
node 0 size: 98278 MB
node 0 free: 95589 MB
node 1 cpus: 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31
node 1 size: 98304 MB
node 1 free: 95770 MB
node distances:
node 0 1
0: 10 20
1: 20 10
</pre>
***
虚拟机情况下,qemu需要根据numa结构,对分配的内存和CPU进行控制。
从而性能达到最优。
参考:
numa介绍:
http://www.ibm.com/developerworks/cn/linux/l-numa/
vmware numa策略:
http://pubs.vmware.com/vsphere-4-esx-vcenter/index.jsp#using_numa_systems_with_esx_esxi/c_resource_management_in_numa_architectures.html