NUMA:Non-Uniform Memory Access or Non-Uniform Memory Architecture
对于传统SMP架构来说,CPU增多未必系统性能就好,因为共享系统总线的限制了CPU数量,CPU 越多内部通信量越大共享总线越容易达到瓶颈。而 NUMA架构则多少缓解了这个扩展问题,其大致机理是通过给每个核提供单独的本地内存,进而提高可扩展性。而每个核访问本地内存和其它核上的内存时间是不一样的,所以,应用程度对于内存的访问是有比较大的讲究的。从硬件到操作系统再到应用程序,都要支持 NUMA 才会发挥真正的处理能力。
Oracle从8i开始支持NUMA特性
如果OS和硬件都支持NUMA,NUMA在10.2.0.4 & 11.1.0.7上将默认启用,不过在之前的版本以及 11.2 之后默认是关闭该特性的。
需要硬件支持NUMA,另外主流 OS上都是支持的,如AIX,HP-UX,Solaris,Linux,Windows
NUMA可能导致的故障:
ORA-4031
ORA-600 with argument KSKRECONFIGNUMA2
ORA-600 with argument KSBASEND_INTERNAL
ORA-600 with argument KSMHEAP_ALLOC1
ORA-27302: FAILURE OCCURRED AT: SSKGXPCRE3
在Oracle NUMA Usage Recommendation (Doc ID 759565.1)中查询BUG列表
其中,以10204,11107版本遭遇到的BUG最多,因为这两个版本默认启用了NUMA
所以推荐在新装的系统上关闭掉NUMA,但是如果当前已经启用了NUMA并且运行良好,或者有时间做测试,建议还是启用NUMA
Disable NUMA on database servers to improve performance of Linux file system utilities (Doc ID 1053332.1)
当启用NUMA后,将对内存分组。
当使用一些OS命令(cp,gzip)普通IO操作一个大的文件时,该命令会长期占用一个CPU
同时,其会消耗这个CPU所关联的内存,用作文件系统缓存
最终导致在系统还有空闲内存的情况下,发生分页,影响数据库性能
11G on HP Creates 6 Shared Memory Segments [ID 601552.1]
共享内存分段,各个平台均可能遭遇到该问题
Sga can't Fit Into A Single Memory Segment and UDP port usage is exploding [ID 747486.1]
HP各平台,导致内存分段以及run out of UDP ports
Bug 8199533 - NUMA enabled by default can cause high CPU / OERI [ID 8199533.8]
导致高CPU消耗,各个平台均可能遭遇到该问题
Multiple DBWR Not Used Though DB_WRITER_PROCESSES is Set [ID 576888.1]
通过_enable_NUMA_optimization = FALSE关闭NUMA后,可能发生DBWR个数无法指定的问题
需要通过设置环境变量和使用_db_block_numa关闭NUMA
1.setenv DISABLE_NUMA TRUE
2._db_block_numa=1
Oracle Background Processes (Including Parallel Processes) Using Only First 8 CPUs (Half) on 16-CPU Server Under NUMA [ID 760705.1]
启用NUMA导致ORACLE无法使用所有CPU 10204
关闭NUMA的步骤:
1.安装PATCH 8199533,该补丁可以滚动安装。其针对的版本为10203,10204,11107.
2.10205版本,在硬件OS都支持NUMA的环境上,默认也不会启用NUMA
3.不推荐使用_enable_NUMA_optimization关闭NUMA
4.如果ASM HOME和RDBMS HOME分离,该补丁不需要在ASM HOME上安装
5.在安装PATCH 8199533后启用NUMA:_enable_NUMA_optimization=true
6.启用后,alert日志中会显示 "NUMA PG = 2, CPUs = 48" 其中,PG要大于1才表示ORACLE使用了NUMA特性
11gR2版本如何启用NUMA:
1._enable_NUMA_support=TRUE
2._enable_NUMA_optimization参数已经被废弃
3.如果启用OK,在alert日志中将看到如下信息:
...NUMA system found and support enabled (8 domains - 6,6,6,6,6,6,6,6)...
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8242091/viewspace-776009/
,如需转载,请注明出处,否则将追究法律责任。