您的位置:首页 > 其它

How NUMA Allocates Memory (文档 ID 780466.1)

2015-12-01 23:35 309 查看
How NUMA Allocates Memory? (文档 ID 780466.1)
转到底部
In this Document
Goal
 
Solution
 

APPLIES TO:

Oracle Database - Enterprise Edition - Version 10.1.0.2 to 11.1.0.7 [Release 10.1 to 11.1]

Information in this document applies to any platform.

Information in this document applies to any platform.

Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 11.1.0.7

GOAL

How NUMA Allocates Memory?

SOLUTION

In a NUMA system, processors, memory, and I/O are grouped together into nodes so that each processor is bound to specific memory addresses 

By default a NUMA system will choose the local node to allocate memory from and totally exhaust all of the memory from that node before deciding to allocate memory from other remote NUMA nodes. 

While this results in holding an object that will fit in within a single NUMA node and avoid fragmentation, it can also result in aggressive swapping on one node while there is plenty of free memory on other nodes.

Changing the NUMA memory allocation policy to allow memory allocation from other remote nodes before total memory exhaustion on the local node 

will result in objects not properly fitting in a node however it will prevent the exhaustion from one node and the resulting swapping while there is plenty of memory on other nodes. 

In Red Hat Enterprise Linux version 3 Update 7. The tunable 'numa_memory_allocator' parameter controls memory allocation policy for x86-64 systems. 

To allow memory allocation from remote nodes run the following command as root:

echo "1" > /proc/sys/vm/numa_memory_allocator
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: