日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

系统优化怎么做-Linux系统配置优化

發(fā)布時(shí)間:2025/3/21 linux 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 系统优化怎么做-Linux系统配置优化 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

應(yīng)用系統(tǒng)跑在操作系統(tǒng)上面,系統(tǒng)的性能也關(guān)系到應(yīng)用程序的性能,這里講一些Linux性能關(guān)鍵的配置信息。
永久關(guān)閉selinux
selinux提高系統(tǒng)安全性,但會(huì)造成很多麻煩,一般關(guān)閉

vim /etc/selinux/config

將SELINUX=enforcing改為SELINUX=disabled,保存后退出,重啟生效

reboot

設(shè)定系統(tǒng)runlevel為3
節(jié)約系統(tǒng)資源

grep 3:initdefault /etc/inittab init 3

加大系統(tǒng)文件描述符最大值

vim /etc/security/limits.conf

調(diào)整大小

* soft nofile 65536 * hard nofile 65536 * soft nproc 65536 * hard nproc 65536

說(shuō)明:* 代表針對(duì)所有用戶
noproc 是代表最大進(jìn)程數(shù)
nofile 是代表最大文件打開(kāi)數(shù)

調(diào)整內(nèi)核參數(shù)文件 /etc/syctl.conf
配置網(wǎng)絡(luò)參數(shù)來(lái)提高系統(tǒng)負(fù)載能力
如果出現(xiàn)服務(wù)器丟包的情況,需要考慮是不是如下配置需要調(diào)整

vim /etc/syctl.conf
  • net.ipv4.tcp_syncookies = 1
    表示開(kāi)啟SYN Cookies。當(dāng)出現(xiàn)SYN等待隊(duì)列溢出時(shí),啟用cookies來(lái)處理,可防范少量SYN攻擊,默認(rèn)為0,表示關(guān)閉;
  • net.ipv4.tcp_tw_reuse = 1
    表示開(kāi)啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接,默認(rèn)為0,表示關(guān)閉;
  • net.ipv4.tcp_tw_recycle = 1
    表示開(kāi)啟TCP連接中TIME-WAIT sockets的快速回收,默認(rèn)為0,表示關(guān)閉。
  • net.ipv4.tcp_fin_timeout = 30
    表示如果套接字由本端要求關(guān)閉,這個(gè)參數(shù)決定了它保持在FIN-WAIT-2狀態(tài)的時(shí)間。
  • net.ipv4.tcp_keepalive_time = 1200
    表示當(dāng)keepalive起用的時(shí)候,TCP發(fā)送keepalive消息的頻度。缺省是2小時(shí),改為20分鐘。
  • net.ipv4.ip_local_port_range = 1024 65000
    表示用于向外連接的端口范圍。缺省情況下很小:32768到61000,改為1024到65000。
  • net.ipv4.tcp_max_syn_backlog = 8192
    表示SYN隊(duì)列的長(zhǎng)度,默認(rèn)為1024,加大隊(duì)列長(zhǎng)度為8192,可以容納更多等待連接的網(wǎng)絡(luò)連接數(shù)。
  • net.nf_conntrack_max = 655360
    在內(nèi)核內(nèi)存中netfilter可以同時(shí)處理的“任務(wù)”(連接跟蹤條目)
  • 火墻配置

    /etc/syctl 尾部加上如下防火墻相關(guān)配置
    有可能是sysctl.conf.first文件
    開(kāi)啟重用,回收 socket資源用于新的TCP鏈接

    net.ipv4.tcp_tw_recycle=1

    開(kāi)啟回收:

    ```javascript net.ipv4.tcp_tw_recycle=1 網(wǎng)絡(luò)鏈接最大值及超時(shí)配置 ```javascript net.nf_conntrack_max = 25000000 net.netfilter.nf_conntrack_max = 25000000 net.netfilter.nf_conntrack_tcp_timeout_established = 180 net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120 net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60 net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

    net.nf_conntrack_max
    nf_conntrack_max決定連接跟蹤表的大小,默認(rèn)值是65535,可以根據(jù)系統(tǒng)內(nèi)存大小計(jì)算一個(gè)合理值:CONNTRACK_MAX = RAMSIZE(in bytes)/16384/(ARCH/32),如32G內(nèi)存可以設(shè)置1048576;
    nf_conntrack_buckets
    決定存儲(chǔ)conntrack條目的哈希表大小,默認(rèn)值是nf_conntrack_max的1/4,延續(xù)這種計(jì)算方式:BUCKETS = CONNTRACK_MAX/4,如32G內(nèi)存可以設(shè)置262144;
    net.netfilter.nf_conntrack_max
    最大連接數(shù)
    net.netfilter.nf_conntrack_tcp_timeout_established
    決定ESTABLISHED狀態(tài)連接的超時(shí)時(shí)間,默認(rèn)值是5天,可以縮短到1小時(shí),即3600。
    net.netfilter.nf_conntrack_tcp_timeout_time_wait
    決定WAIT狀態(tài)連接的超時(shí)等待時(shí)間
    net.netfilter.nf_conntrack_tcp_timeout_close_wait
    決定關(guān)閉狀態(tài)連接的超時(shí)等待時(shí)間
    net.netfilter.nf_conntrack_tcp_timeout_fin_wait
    決定WAIT狀態(tài)連接的超時(shí)等待時(shí)間
    以上配置生效

    sysctl –p

    常見(jiàn)異常

    • too many open files(打開(kāi)的文件過(guò)多)
      程序在Linux系統(tǒng)中常見(jiàn)的錯(cuò)誤,從字面意思上看就是說(shuō)程序打開(kāi)的文件數(shù)過(guò)多,不過(guò)這里的files不單是文件的意思,也包括打開(kāi)的通訊鏈接(比如socket),正在監(jiān)聽(tīng)的端口等等,所以有時(shí)候也可以叫做句柄(handle),這個(gè)錯(cuò)誤通常也可以叫做句柄數(shù)超出系統(tǒng)限制。
      在高并發(fā)情況或者程序代碼中沒(méi)有正確關(guān)閉IO, 并系統(tǒng)限制比較小的情況下,系統(tǒng)在運(yùn)行一段時(shí)間后,程序打開(kāi)句柄數(shù)超過(guò)系統(tǒng)限制的時(shí)候拋出該異常
    • 連接服務(wù)器超時(shí)
      一般TimeWait進(jìn)程數(shù)過(guò)多
      原因一般為 應(yīng)用程序沒(méi)有正確關(guān)閉連接,導(dǎo)致服務(wù)器TIME_WAIT進(jìn)程過(guò)多,主動(dòng)關(guān)閉連接導(dǎo)致TIME_WAIT產(chǎn)生。先檢查程序及系統(tǒng)以上配置
      常見(jiàn)命令
      uptime
      iostat
      統(tǒng)計(jì)機(jī)器網(wǎng)絡(luò)狀態(tài)狀態(tài)
    netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'LAST_ACK

    狀態(tài):描述
    CLOSED:無(wú)連接是活動(dòng)的或正在進(jìn)行
    LISTEN:服務(wù)器在等待進(jìn)入呼叫
    SYN_RECV:一個(gè)連接請(qǐng)求已經(jīng)到達(dá),等待確認(rèn)
    SYN_SENT:應(yīng)用已經(jīng)開(kāi)始,打開(kāi)一個(gè)連接
    ESTABLISHED:正常數(shù)據(jù)傳輸狀態(tài)
    FIN_WAIT1:應(yīng)用說(shuō)它已經(jīng)完成
    FIN_WAIT2:另一邊已同意釋放
    ITMED_WAIT:等待所有分組死掉
    CLOSING:兩邊同時(shí)嘗試關(guān)閉
    TIME_WAIT:另一邊已初始化一個(gè)釋放
    LAST_ACK:等待所有分組死掉
    總結(jié)
    Linux提供了豐富的內(nèi)核參數(shù)供使用者調(diào)整,調(diào)整得當(dāng)可以大幅提高服務(wù)器的處理能力

    總結(jié)

    以上是生活随笔為你收集整理的系统优化怎么做-Linux系统配置优化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。