1. 程式人生 > >Linux系統的優化

Linux系統的優化

不用 keepaliv 管理 wait 版本 roo ron com 一個用戶

1:關閉SElinux及iptables(在工作場景中,如果有外部ip一般要打開iptables,高並發高流量的一般無法開啟)
[haha@xx-25-44-18 ~]$ grep SELINUX=disabled /etc/sysconfig/selinux 
SELINUX=disabled

2:不使用root遠程登錄系統,而用普通用戶登錄系統通過sudo授權管理

  • https://www.linuxidc.com/Linux/2017-01/139361.htm

    3:不用默認的ssh連接端口,禁止root用戶遠程連接,更改ssh內網監聽ip

  • https://blog.csdn.net/mrqiang9001/article/details/78308830
  • 企業環境中建議平滑重啟,防止正在連接的用戶斷開影響用戶體驗。

    4:定時更新服務器時間,使其與互聯網時間同步

  • https://www.linuxidc.com/Linux/2017-08/146188.htm

    5:配置yum更新源,從國內更新源下載安裝軟件包

    6:修改文件描述符的數量,進程及文件打開都會消耗文件描述符數量

  • https://www.cnblogs.com/pangguoping/p/5791432.html

    7:定時處理郵件臨時目錄的垃圾文件,房子磁盤的inodes數量被小文件打滿

  • ls -i命令列出整個目錄文件,即文件名和inode號碼
  • https://blog.csdn.net/fdipzone/article/details/41558685

    8:精簡並保留有必要的開機自啟服務(crond,sshd,network,sysstat,rsyslog)

  • https://blog.csdn.net/jack_nichao/article/details/54093394
  • https://www.cnblogs.com/fatt/p/4790561.html

    9:linux內核參數優化

  • https://www.jianshu.com/p/3096a8e6a36f
 net.ipv4.tcp_fin_timeout = 2           #保持在FIN-WAIT-2狀態的時間,使系統可以處理更多的連接。此參數值為整數,單位為秒。
net.ipv4.tcp_tw_reuse = 1              #開啟重用,允許將TIME_WAIT socket用於新的TCP連接。默認為0,表示關閉。
net.ipv4.tcp_tw_recycle = 1            #開啟TCP連接中TIME_WAIT socket的快速回收。默認值為0,表示關閉。
net.ipv4.tcp_syncookies = 1            #開啟SYN cookie,出現SYN等待隊列溢出時啟用cookie處理,防範少量的SYN×××。默認為0,表示關閉。
net.ipv4.tcp_keepalive_time = 600      #keepalived啟用時TCP發送keepalived消息的拼度。默認位2小時。
net.ipv4.tcp_keepalive_probes = 5      #TCP發送keepalive探測以確定該連接已經斷開的次數。根據情形也可以適當地縮短此值。
net.ipv4.tcp_keepalive_intvl = 15      #探測消息發送的頻率,乘以tcp_keepalive_probes就得到對於從開始探測以來沒有響應的連接殺除的時間。默認值為75秒,也就是沒有活動的連接將在大約11分鐘以後將被丟棄。對於普通應用來說,這個值有一些偏大,可以根據需要改小.特別是web類服務器需要改小該值。
net.ipv4.ip_local_port_range = 1024 65000 #指定外部連接的端口範圍。默認值為32768 61000。
net.ipv4.tcp_max_syn_backlog = 262144  #表示SYN隊列的長度,預設為1024,這裏設置隊列長度為262 144,以容納更多的等待連接。
net.ipv4.tcp_max_tw_buckets =5000      #系統同時保持TIME_WAIT套接字的最大數量,如果超過這個數值將立刻被清楚並輸出警告信息。默認值為180000。對於squid來說效果不是很大,但可以控制TIME_WAIT套接字最大值,避免squid服務器被拖死。 
net.ipv4.tcp_syn_retries = 1           #表示在內核放棄建立連接之前發送SYN包的數量。
net.ipv4.tcp_synack_retries = 1        #設置內核放棄連接之前發送SYN+ACK包的數量。
net.core.somaxconn = 16384             #定義了系統中每一個端口最大的監聽隊列的長度, 對於一個經常處理新連接的高負載 web服務環境來說,默認值為128,偏小。
net.core.netdev_max_backlog = 16384    #表示當在每個網絡接口接收數據包的速率比內核處理這些包的速率快時,允許發送到隊列的數據包的最大數量。
net.ipv4.tcp_max_orphans = 16384       #表示系統中最多有多少TCP套接字不被關聯到任何一個用戶文件句柄上。如果超過這裏設置的數字,連接就會復位並輸出警告信息。這個限制僅僅是為了防止簡單的DoS×××。此值不能太小。

10:鎖定關鍵系統文件(chattr)

  • http://man.linuxde.net/chattr

    11:清空內核版本信息

[haha@xx-25-44-18 ~]$ cat /etc/issue

[haha@xx-25-44-18 ~]$ cat /etc/issue.net 

12:清除虛擬賬號

  • https://blog.csdn.net/codetz/article/details/52273803

    13:為grub引導菜單加密

  • https://blog.csdn.net/ccc82284/article/details/54312494

Linux系統的優化