內核參數修改

vi /etc/sysctl.conf      
      
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.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 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章