天天看點

Linux 資料庫相關核心參數

cat >>/etc/sysctl.conf  <<eoof

# add by digoal.zhou   

fs.aio-max-nr = 1048576   

fs.file-max = 76724600   

# 可選:kernel.core_pattern = /data01/corefiles/core_%e_%u_%t_%s.%p            

# /data01/corefiles 事先建好,權限777,如果是軟連結,對應的目錄修改為777   

kernel.sem = 4096 2147483647 2147483646 512000       

# 信号量, ipcs -l 或 -u 檢視,每16個程序一組,每組信号量需要17個信号量。   

kernel.shmall = 107374182         

# 所有共享記憶體段相加大小限制 (建議記憶體的80%),機關為頁。   

kernel.shmmax = 274877906944      

# 最大單個共享記憶體段大小 (建議為記憶體一半), >9.2的版本已大幅降低共享記憶體的使用,機關為位元組。   

kernel.shmmni = 819200            

# 一共能生成多少共享記憶體段,每個pg資料庫叢集至少2個共享記憶體段   

net.core.netdev_max_backlog = 10000   

net.core.rmem_default = 262144          

# the default setting of the socket receive buffer in bytes.   

net.core.rmem_max = 4194304             

# the maximum receive socket buffer size in bytes   

net.core.wmem_default = 262144          

# the default setting (in bytes) of the socket send buffer.   

net.core.wmem_max = 4194304             

# the maximum send socket buffer size in bytes.   

net.core.somaxconn = 4096   

net.ipv4.tcp_max_syn_backlog = 4096   

net.ipv4.tcp_keepalive_intvl = 20   

net.ipv4.tcp_keepalive_probes = 3   

net.ipv4.tcp_keepalive_time = 60   

net.ipv4.tcp_mem = 8388608 12582912 16777216   

net.ipv4.tcp_fin_timeout = 5   

net.ipv4.tcp_synack_retries = 2   

net.ipv4.tcp_syncookies = 1       

# 開啟syn cookies。當出現syn等待隊列溢出時,啟用cookie來處理,可防範少量的syn攻擊   

net.ipv4.tcp_timestamps = 1       

# 減少time_wait   

net.ipv4.tcp_tw_recycle = 0       

# 如果=1則開啟tcp連接配接中time-wait套接字的快速回收,但是nat環境可能導緻連接配接失敗,建議服務端關閉它   

net.ipv4.tcp_tw_reuse = 1         

# 開啟重用。允許将time-wait套接字重新用于新的tcp連接配接   

net.ipv4.tcp_max_tw_buckets = 262144   

net.ipv4.tcp_rmem = 8192 87380 16777216   

net.ipv4.tcp_wmem = 8192 65536 16777216   

net.nf_conntrack_max = 1200000   

net.netfilter.nf_conntrack_max = 1200000   

vm.dirty_background_bytes = 409600000          

#  系統髒頁到達這個值,系統背景刷髒頁排程程序 pdflush(或其他) 自動将(dirty_expire_centisecs/100)秒前的髒頁刷到磁盤   

#  預設為10%,大記憶體機器建議調整為直接指定多少位元組   

vm.dirty_expire_centisecs = 3000                

#  比這個值老的髒頁,将被刷到磁盤。3000表示30秒。   

vm.dirty_ratio = 95                             

#  如果系統程序刷髒頁太慢,使得系統髒頁超過記憶體 95 % 時,則使用者程序如果有寫磁盤的操作(如fsync, fdatasync等調用),則需要主動把系統髒頁刷出。   

#  有效防止使用者程序刷髒頁,在單機多執行個體,并且使用cgroup限制單執行個體iops的情況下非常有效。     

vm.dirty_writeback_centisecs = 100               

#  pdflush(或其他)背景刷髒頁程序的喚醒間隔, 100表示1秒。   

vm.swappiness = 0   

#  不使用交換分區   

vm.mmap_min_addr = 65536   

vm.overcommit_memory = 0        

#  在配置設定記憶體時,允許少量over malloc, 如果設定為 1, 則認為總是有足夠的記憶體,記憶體較少的測試環境可以使用 1 .     

vm.overcommit_ratio = 90        

#  當overcommit_memory = 2 時,用于參與計算允許指派的記憶體大小。   

vm.swappiness = 0               

#  關閉交換分區   

vm.zone_reclaim_mode = 0        

# 禁用 numa, 或者在vmlinux中禁止.    

net.ipv4.ip_local_port_range = 40000 65535       

# 本地自動配置設定的tcp, udp端口号範圍   

fs.nr_open=20480000   

# 單個程序允許打開的檔案句柄上限   

# 以下參數請注意   

# vm.extra_free_kbytes = 4096000   

# vm.min_free_kbytes = 2097152   # vm.min_free_kbytes 建議每32g記憶體配置設定1g vm.min_free_kbytes 

# 如果是小記憶體機器,以上兩個值不建議設定   

# vm.nr_hugepages = 66536       

#  建議shared buffer設定超過64gb時 使用大頁,頁大小 /proc/meminfo hugepagesize   

# vm.lowmem_reserve_ratio = 1 1 1   

# 對于記憶體大于64g時,建議設定,否則建議預設值 256 256 32   

eoof

繼續閱讀