linux 核心引數

2021-10-03 17:19:57 字數 1127 閱讀 5391

sysctl命令可以檢視和 動態地修改核心的執行引數,可用的核心引數在目錄「/proc/sys」中。

sysctl命令對核心引數的修改僅在當前生效,重啟系統後引數丟失。

如果希望引數永久生效可以修改配置檔案 /etc/sysctl.conf,修改後使用sysctl -p生效。

例子:  

net.ipv4.tcp_syncookies = 1 表示開啟syn cookies。當出現syn等待佇列溢位時,啟用cookies來處理,可防範少量syn攻擊,預設為0,表示關閉;

net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將time-wait sockets重新用於新的tcp連線,預設為0,表示關閉;

net.ipv4.tcp_tw_recycle = 1 表示開啟tcp連線中time-wait sockets的快速**,預設為0,表示關閉。

net.ipv4.tcp_fin_timeout 修改系預設的 timeout 時間

如果以上配置調優後效能還不理想,可繼續修改一下配置:

vi /etc/sysctl.conf

net.ipv4.tcp_keepalive_time = 1200

#表示當keepalive起用的時候,tcp傳送keepalive訊息的頻度。預設是2小時,改為20分鐘。

net.ipv4.ip_local_port_range = 1024 65000

#表示用於向外連線的埠範圍。預設情況下很小:32768到61000,改為1024到65000。

net.ipv4.tcp_max_syn_backlog = 8192

#表示syn佇列的長度,預設為1024,加大佇列長度為8192,可以容納更多等待連線的網路連線數。

net.ipv4.tcp_max_tw_buckets = 5000

#表示系統同時保持time_wait套接字的最大數量,如果超過這個數字,time_wait套接字將立刻被清除並列印警告資訊。

預設為180000,改為5000。對於apache、nginx等伺服器,上幾行的引數可以很好地減少time_wait套接字數量,但是對於 squid,效果卻不大。此項引數可以控制time_wait套接字的最大數量,避免squid伺服器被大量的time_wait套接字拖死。

linux核心引數

net.ipv4.ip local port range 當核心版本小於3.2,決定的是客戶端的乙個 ip 可用的埠數量,即乙個 ip 最多只能建立 60k 多一點的連線 1025 65535 如果要突破這個限制需要客戶端 機器繫結多個 ip。當核心版本大於等於3.2,決定的是 socket 四元組...

Linux核心引數修改

由於linux的核心引數資訊都存在記憶體中,因此可以通過命令直接修改,並且修改後直接生效。但是,當系統重新啟動後,原來設定的引數值就會丟失,而系統每次啟動時都會自動去 etc sysctl.conf檔案中讀取核心引數,因此將核心的引數配置寫入這個檔案中,是乙個比較好的選擇。首先開啟 etc sysc...

linux核心模組引數

在裝載核心模組時,使用者可以向模組傳遞引數,形式為 insmod modprobe 模組名 引數名 引數值。如果不傳遞,引數將使用模組內定義的預設值。我們可以使用以下方法為模組定義乙個引數 module param 引數名,引數型別,引數讀 寫許可權 如下 定義了乙個整型引數 static int ...