Linux引數優化

2021-09-25 13:10:36 字數 2665 閱讀 9849

time_wait處理

ulimit配置

開機自啟動

cannot allocate memory 問題的處理

檢視可用埠範圍

cat /proc/sys/net/ipv4/ip_local_port_range

32768 60999

修改埠可用範圍
# 臨時修改

echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range

# 永久修改:在/etc/sysctl.conf中新增如下資訊

net.ipv4.ip_local_port_range = 1024 65535

# 然後生效一下

sysctl -p

壓測過程中,tcp連線的主動關閉方會出現大量的time_wait狀態,導致埠不夠用等問題

可以配置

參考

# 同樣,在/etc/sysctl.conf中新增如下資訊,最後使用sysctl -p生效一下

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

net.ipv4.tcp_syncookies = 1

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

net.ipv4.tcp_tw_reuse = 1

# 表示開啟tcp連線中time-wait sockets的快速**,預設為0,表示關閉

net.ipv4.tcp_tw_recycle = 1

# 修改系統預設的 timeout 時間

net.ipv4.tcp_fin_timeout = 30

顯示當前所有的資源限制
ulimit -a

core file size (blocks, -c) 0

data seg size (kbytes, -d) unlimited

scheduling priority (-e) 0

file size (blocks, -f) unlimited

pending signals (-i) 63445

max locked memory (kbytes, -l) 64

max memory size (kbytes, -m) unlimited

open files (-n) 1024

pipe size (512 bytes, -p) 8

posix message queues (bytes, -q) 819200

real-time priority (-r) 0

stack size (kbytes, -s) 8192

cpu time

(seconds, -t) unlimited

max user processes (-u) 63445

virtual memory (kbytes, -v) unlimited

file locks (-x) unlimited

可以直接對以上引數進行修改,但是只在當前的session及其衍生session生效,不推薦

在/etc/security/limits.conf中進行永久修改,格式:

(參考limits.conf中的注釋部分的說明)

修改之後重新登入即可生效

* soft core unlimited

* hard core unlimited

將啟動命令新增到/etc/rc.d/rc.local中

*          soft    nproc     unlimited

* hard nproc unlimited

* soft nofile 1024000

* hard nofile 1024000

## 當前使用者最大登入數

## max number of logins for this user

* soft maxlogins 100

* hard maxlogins 100

## 系統最大登入使用者數

## max number of logins on the system

* soft maxsyslogins 100

* hard maxsyslogins 100

檢視最大程序數 sysctl kernel.pid_max

檢視程序數 ps -elf | wc -l

確認是程序數滿了

臨時修改:

echo 1000000 > /proc/sys/kernel/pid_max

永久生效:

echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf

sysctl -p

Linux引數優化

1 openfiles引數優化 有時應用程式會報too many open files的錯誤,是因為open files數目不夠,系統預設是1024。ulimit a core file size blocks,c 0 data seg size kbytes,d unlimited schedul...

linux核心引數優化

linux核心引數優化 主要針對 etc sysctl.conf檔案 etc sysctl.conf是乙個允許你改變正在執行中的linux系統的介面。它包含一些tcp ip堆疊和虛擬記憶體系統的高階選項,可用來控制linux網路配置,由於 proc sys net目錄內容的臨時性,建議把tcpip引...

linux核心引數優化

linux如何在系統執行時修改核心引數 proc sys 與 etc sysctl.conf redhat向員提供了非常好的方法,使我們可以在系統執行時更改核心引數,而不需要重新引導系統。這是通過 proc虛擬檔案系統實現的。proc sys目錄下存放著大多數的核心引數,並且設計成可以在系統執行的同...