[20191114]linux内存分配的讨论.txt

来源:这里教程网 时间:2026-03-03 14:32:28 作者:

[20191114]linux内存分配的讨论.txt --//链接http://www.itpub.net/thread-2121531-1-1.html上的讨论. # sysctl -p net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4194304 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 262144 --//kernel.shmall * kernel.shmmni = 4194304*4096 = 17179869184 --//17179869184/1024/1024/1024 = 16G --//68719476736/1024/1024/1024 = 64 --//你前面提到2个实例1个8 ,1个6G,应该是这里不足了.要加大到4194304*2 = 8388608.或者设置更大一些. --//另外的可能就是内存碎片,我有点乱猜,毕竟共享内存段需要很大一片内存,当然可以分成多段.你没有写出什么错误,应该是ora-27XXX的错误. --//对于linux内存上许多概念还是不是很清晰,以后慢慢补充学习这方面内容. --//我个人建议使用hugepages,现在的机器内存都很大.如果有缺点就是如果你分配hugepages,不使用就浪费了. --//其实设置小了vm.nr_hugepages也没有什么问题. --//use_large_pages支持auto参数.设置小了vm.nr_hugepages没关系. SYS@book> alter system set use_large_pages=xxxxxxxxx scope=spfile ; alter system set use_large_pages=xxxxxxxxx scope=spfile * ERROR at line 1: ORA-00096: invalid value XXXXXXXXX for parameter use_large_pages, must be from among FALSE, ONLY, AUTO, TRUE --//会启动oradism进程修改内核参数.参考链接 :http://blog.itpub.net/267265/viewspace-2135210/ --//这样的缺点是修改后不会返回给其它应用使用.你可以使用这样方式计算需要vm.nr_hugepages. --//另外你也可以定义参数:vm.nr_overcommit_hugepages=XXXXXX. --//这样vm.nr_hugepages定义小了,也没有关系. --//参考链接:http://blog.itpub.net/267265/viewspace-2145481/ --//使用这个好处关闭数据库后,这部分内存可以返回给其它应用使用. --//当然我也遇到1个问题,就是链接http://blog.itpub.net/267265/viewspace-2132921/ --//12c使用pdb,oracle设置pre_page_sga=true作为缺省参数.这样你不使用hugepages,浪费内存更大. --//如果你使用11g不使用hugepages,设置pre_page_sga=true,遇到的问题启动缓慢连接缓慢, --//链接: http://blog.itpub.net/267265/viewspace-2295412/=>[20190103]设置pre_page_sga=true启动缓慢的问题.txt http://blog.itpub.net/267265/viewspace-2640993/=>[20190409]pre_page_sga=true与连接缓慢的问题.txt --//我贴一个12cR2版本的没有使用hugepages的情况: SYS@orclcdb> show sga Total System Global Area  30802965576 bytes Fixed Size                   12452936 bytes Variable Size              2751463424 bytes Database Buffers          17246978048 bytes Redo Buffers                 54652928 bytes In-Memory Area            10737418240 bytes # ipcs ------ Message Queues -------- key        msqid      owner      perms      used-bytes   messages ------ Shared Memory Segments -------- key        shmid      owner      perms      bytes      nattch     status 0x56538844 720900     oracle     600        24576      26 0x00000000 753669     oracle     600        12455936   162 0x00000000 786438     oracle     600        7516192768 81 0x00000000 819207     oracle     600        23219666944 81 0x00000000 851976     oracle     600        54652928   81 0xd48cd3f0 884745     oracle     600        36864      81 ------ Semaphore Arrays -------- key        semid      owner      perms      nsems 0xe448e67c 196608     oracle     600        250 0xe448e67d 229377     oracle     600        250 0x1ab7abe0 360450     oracle     600        250 0x1ab7abe1 393219     oracle     600        250 # grep -i page /proc/meminfo AnonPages:       6133272 kB PageTables:      1073376 kB AnonHugePages:         0 kB HugePages_Total:       0 HugePages_Free:        0 HugePages_Rsvd:        0 HugePages_Surp:        0 Hugepagesize:       2048 kB --//基本没有用户连接的数据库,PageTables达到1G上下.

相关推荐