centos7內核優化

#sysctl -pvim

參數:服務器

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
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 = 4294967296
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.ip_local_port_range = 1024 65000
fs.file-max = 265535
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
vm.swappiness = 10cookie

 

vim /etc/sysctl.conf網絡

# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
#
#系統優化參數
#
##關閉ipv6
#
net.ipv6.conf.all.disable_ipv6 = 1
#
net.ipv6.conf.default.disable_ipv6 = 1
#
## 避免放大攻擊
#
net.ipv4.icmp_echo_ignore_broadcasts = 1
#
## 開啓惡意icmp錯誤消息保護
#
net.ipv4.icmp_ignore_bogus_error_responses = 1
#
##關閉路由轉發
#
net.ipv4.ip_forward = 0
#
net.ipv4.conf.all.send_redirects = 0
#
net.ipv4.conf.default.send_redirects = 0
#
##開啓反向路徑過濾
#
net.ipv4.conf.all.rp_filter = 1
#
net.ipv4.conf.default.rp_filter = 1
#
##處理無源路由的包
#
net.ipv4.conf.all.accept_source_route = 0
#
net.ipv4.conf.default.accept_source_route = 0
#
##關閉sysrq功能
#
kernel.sysrq = 0
#
##core文件名中添加pid做爲擴展名
#
kernel.core_uses_pid = 1
#
## 開啓SYN洪水攻擊保護
#
net.ipv4.tcp_syncookies = 1
#
##修改消息隊列長度
#
kernel.msgmnb = 65536
#
kernel.msgmax = 65536
#
##設置最大內存共享段大小bytes
#
kernel.shmmax = 68719476736
#
kernel.shmall = 4294967296
#
##timewait的數量,默認180000
#
net.ipv4.tcp_max_tw_buckets = 6000
#
net.ipv4.tcp_sack = 1
#
net.ipv4.tcp_window_scaling = 1
#
net.ipv4.tcp_rmem = 4096 87380 4194304
#
net.ipv4.tcp_wmem = 4096 16384 4194304
#
net.core.wmem_default = 8388608
#
net.core.rmem_default = 8388608
#
net.core.rmem_max = 16777216
#
net.core.wmem_max = 16777216
#
##每一個網絡接口接收數據包的速率比內核處理這些包的速率快時,容許送到隊列的數據包的最大數目
#
net.core.netdev_max_backlog = 262144
#
##限制僅僅是爲了防止簡單的DoS 攻擊
#
net.ipv4.tcp_max_orphans = 3276800
#
##未收到客戶端確認信息的鏈接請求的最大值
#
net.ipv4.tcp_max_syn_backlog = 262144
#
net.ipv4.tcp_timestamps = 0
#
##內核放棄創建鏈接以前發送SYNACK 包的數量
#
net.ipv4.tcp_synack_retries = 1
#
##內核放棄創建鏈接以前發送SYN 包的數量
#
net.ipv4.tcp_syn_retries = 1
#
##啓用timewait 快速回收
#
#net.ipv4.tcp_tw_recycle = 1
#app

##tcp_tw_recycle 的機制是維護時間戳,發現時間戳後退的包直接丟掉,會致使服務器可能會丟失 NAT 模式下運行的客戶端鏈接socket

##開啓重用。容許將TIME-WAIT sockets 從新用於新的TCP 鏈接
#
net.ipv4.tcp_tw_reuse = 1
#
net.ipv4.tcp_mem = 94500000 915000000 927000000
#
net.ipv4.tcp_fin_timeout = 1
#
##當keepalive 起用的時候,TCP 發送keepalive 消息的頻度。缺省是2 小時
#
net.ipv4.tcp_keepalive_time = 30
#
##容許系統打開的端口範圍
#
net.ipv4.ip_local_port_range = 1024 65000
#
##修改防火牆表大小,默認65536
#
#ulimit -n 265535
#可在/etc/profile中設置
fs.file-max = 265535
#系統級別的可以打開的文件句柄的數量,ulimit 是進程級別的tcp

#net.netfilter.nf_conntrack_max=655350
#
##net.netfilter.nf_conntrack_tcp_timeout_established=1200
#
# # 確保無人能修改路由表
#
net.ipv4.conf.all.accept_redirects = 0
#
net.ipv4.conf.default.accept_redirects = 0
#
net.ipv4.conf.all.secure_redirects = 0
#
net.ipv4.conf.default.secure_redirects = 0
#
#net.nf_conntrack_max = 6553600
vm.swappiness = 10 ide

 

注:性能

kernel.shmmax = 68719476736(頁)優化

Shmmax 是核心參數中最重要的參數之一,用於定義單個共享內存段的最大值,shmmax 設置應該足夠大,能在一個共享內存段下容納下整個的SGA ,設置的太低可能會致使須要建立多個共享內存段,默認設置已經足夠大
kernel.shmall = 4294967296(頁)

控制共享內存頁數,Linux 共享內存頁大小爲4KB, 共享內存段的大小都是共享內存頁大小的整數倍。假設共享內存段的最大大小是16G,那麼須要共享內存頁數是 16GB/4KB=16777216KB/4KB=4194304頁才符合。默認設置已經足夠大

kernel.shmall

#共享內存段的最大數量,shmmni 缺省值 4096 ,通常確定是夠用了

 

vm.swappiness 值的範圍爲0~100,假設內存爲16G,那麼vm.swappiness設置爲60,那麼可用內存16*0.4=6.4的時候開始物理內存與虛擬內存的交換,勢必會影響性能

相關文章
相關標籤/搜索