1.kernel.shmmax(原则就是一个sga一个共享内存段)
shmmax内核参数定义单个共享内存段的最大值,如果该参数设置小于Oracle SGA设置,那么SGA就会被分配多个共享内存段。
这在繁忙的系统中可能成为性能负担,带来系统问题。
可以通过ipcs命令查看此设置下共享内存的分配,我们可以看到Oracle分配了多个共享内存段以满足SGA设置的需要:
ipcs -sa
2.kernel.shmall(原则就是乘以4要大于所要分配的sga)
这个是一次可以使用的内存最大的页数
2097152 * 4k/页 = 8G 所以sga 无法跨越8G
kernel.shmall 参数是控制共享内存页数 。Linux 共享内存页大小为4KB, 共享内
存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需
要共享内存页数是 16GB/4KB=16777216KB/4KB=4194304 (页),也就是64Bit 系统下
16GB 物理内存,设置 kernel.shmall = 4194304 才符合要求(几乎是原来设置2097152
的两倍)。
3.kernel.shmmni (原则上不用改)
shmmni 内核参数是共享内存段的最大数量。shmmni 缺省值 4096 ,一般肯定是够用了 。
shmmax内核参数定义单个共享内存段的最大值,如果该参数设置小于Oracle SGA设置,那么SGA就会被分配多个共享内存段。
这在繁忙的系统中可能成为性能负担,带来系统问题。
可以通过ipcs命令查看此设置下共享内存的分配,我们可以看到Oracle分配了多个共享内存段以满足SGA设置的需要:
ipcs -sa
2.kernel.shmall(原则就是乘以4要大于所要分配的sga)
这个是一次可以使用的内存最大的页数
2097152 * 4k/页 = 8G 所以sga 无法跨越8G
kernel.shmall 参数是控制共享内存页数 。Linux 共享内存页大小为4KB, 共享内
存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需
要共享内存页数是 16GB/4KB=16777216KB/4KB=4194304 (页),也就是64Bit 系统下
16GB 物理内存,设置 kernel.shmall = 4194304 才符合要求(几乎是原来设置2097152
的两倍)。
3.kernel.shmmni (原则上不用改)
shmmni 内核参数是共享内存段的最大数量。shmmni 缺省值 4096 ,一般肯定是够用了 。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-620248/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9240380/viewspace-620248/