[20191114]linux記憶體分配的討論.txt
[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上下.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2664040/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20210126]探究oracle記憶體分配.txtOracle記憶體
- linux記憶體管理(一)實體記憶體的組織和記憶體分配Linux記憶體
- [20210126]探究oracle記憶體分配3.txtOracle記憶體
- [20210126]探究oracle記憶體分配4.txtOracle記憶體
- MySQL OOM 系列一 Linux記憶體分配MySqlOOMLinux記憶體
- 垃圾收集器與記憶體分配策略_記憶體分配策略記憶體
- 記憶體的分配與釋放,記憶體洩漏記憶體
- 當linux報 “-bash: fork: 無法分配記憶體”Linux記憶體
- 動態記憶體分配記憶體
- C中的記憶體分配模型記憶體模型
- C語言的記憶體分配C語言記憶體
- java-方法記憶體分配Java記憶體
- go記憶體分配器Go記憶體
- 深度理解glibc記憶體分配記憶體
- java基礎-記憶體分配Java記憶體
- hadoop 記憶體分配規則Hadoop記憶體
- C語言-記憶體分配C語言記憶體
- 記憶體分配策略學習記憶體
- Go記憶體分配和GC的理解Go記憶體GC
- Netty 中的記憶體分配淺析Netty記憶體
- 深入理解 Linux 實體記憶體分配全鏈路實現Linux記憶體
- C++動態記憶體分配C++記憶體
- 記憶體分配問題處理記憶體
- mimalloc記憶體分配程式碼分析記憶體
- 【Java】 記憶體分配全面淺析Java記憶體
- JVM GC 與 記憶體分配策略JVMGC記憶體
- MySQL 配置InnoDB的記憶體分配器MySql記憶體
- javascript堆疊記憶體分配的區別JavaScript記憶體
- new、delete、記憶體分配 的底層原理delete記憶體
- C程式記憶體的分配,const ,volatile,staticC程式記憶體
- Python如何管理記憶體?記憶體分配機制是什麼?Python記憶體
- jvm:記憶體模型、記憶體分配及GC垃圾回收機制JVM記憶體模型GC
- MySQL記憶體管理,記憶體分配器和作業系統MySql記憶體作業系統
- Java記憶體區域與分配策略Java記憶體
- 【記憶體管理】頁面分配機制記憶體
- curl 中減少記憶體分配操作記憶體
- JVM 之 記憶體分配與回收策略JVM記憶體
- 深入理解golang:記憶體分配原理Golang記憶體