centos7系統優化-轉載

禁用SELINUX

# grep -i ^selinux /etc/selinux/config
SELINUX=enforcing
SELINUXTYPE=targeted

註釋掉上面2行,並增長 SELINUX=disabled。運行setenforce 0(設置SELinux 成爲permissive模式,setenforce 1 設置SELinux 成爲enforcing模式),臨時關閉SELINUX,經過getenforce 查看SELinux運行狀態,重啓電腦。linux

最大進程數和最大文件打開數) :

ulimit -n和-u能夠查看Linux的最大進程數和最大文件打開數,爲了優化linux性能,可能須要修改這個最大值。臨時修改的話ulimit -n 204800就能夠了,重啓後失效。
修改/etc/security/limits.conf文件,在文件末尾添加cookie

* soft nofile 1024000
* hard nofile 1024000
* soft nproc  1024000
* hard nproc  1024000

說明:
'*' 表明針對全部用戶
noproc 是表明最大進程數
nofile 是表明最大文件打開數
還須要修改/etc/security/limits.d下面的conf文件(會覆蓋前面的配置信息),個人是20-nproc.conf網絡

# cat /etc/security/limits.d/20-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     4096
root       soft    nproc     unlimited

修改成:socket

# cat /etc/security/limits.d/20-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

* soft nproc  1024000
* hard nproc  1024000

修改完重啓。tcp

內核優化:

# cat /etc/sysctl.conf
# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).

根據提示修改/usr/lib/sysctl.d/00-system.conf裏面的內容,增長以下內容:

#關閉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

#開啓重用。容許將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

#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

執行sysctl -p使參數生效,永久生效。ide

相關文章
相關標籤/搜索