Linuxのsyssctl.com nfとlimits.com nfは配置を最適化します.
3702 ワード
【syssctl.co nf工作原理】
【原文リンク】
http://wsgzao.github.io/post/sysctl/
syssctlコマンドは、カーネル運転時に、カーネルの運転パラメータを動的に変更するために使用され、利用可能なカーネルパラメータは、ディレクトリ/proc/sysにあります.それはいくつかのTCP/IPスタックと仮想メモリシステムの高級オプションを含んでいます.これは経験のある管理者に注目されるシステム性能を向上させることができます.システム変数をsyssctlで読み込むことができます.
【syssctl.co nf設定】
limits.co nfは
【limits.com nf設定】
1)一時的に効力が発生し、通過に適用される.
【原文リンク】
http://wsgzao.github.io/post/sysctl/
syssctlコマンドは、カーネル運転時に、カーネルの運転パラメータを動的に変更するために使用され、利用可能なカーネルパラメータは、ディレクトリ/proc/sysにあります.それはいくつかのTCP/IPスタックと仮想メモリシステムの高級オプションを含んでいます.これは経験のある管理者に注目されるシステム性能を向上させることができます.システム変数をsyssctlで読み込むことができます.
【syssctl.co nf設定】
# TCP
vi /etc/sysctl.conf
#
net.ipv4.ip_forward = 0
#
net.ipv4.conf.default.rp_filter = 1
# IP
net.ipv4.conf.default.accept_source_route = 0
# sysrq , 0
kernel.sysrq = 0
# core pid
kernel.core_uses_pid = 1
# SYN Cookies, SYN , cookies
net.ipv4.tcp_syncookies = 1
# ( : )
kernel.msgmnb = 65536
#
kernel.msgmax = 65536
# ( : ) , 64G*1024*1024*1024( )
kernel.shmmax = 68719476736
# ( : ,1 = 4Kb), 16G*1024*1024*1024/4KB( )
kernel.shmall = 4294967296
#timewait , 180000
net.ipv4.tcp_max_tw_buckets = 6000
#
net.ipv4.tcp_sack = 1
# TCP . TCP 65535(64K), 1
net.ipv4.tcp_window_scaling = 1
#TCP buffer
net.ipv4.tcp_rmem = 4096 131072 1048576
#TCP buffer
net.ipv4.tcp_wmem = 4096 131072 1048576
# TCP socket ( : )
net.core.wmem_default = 8388608
# TCP socket ( : )
net.core.wmem_max = 16777216
# TCP socket ( : )
net.core.rmem_default = 8388608
# TCP socket ( : )
net.core.rmem_max = 16777216
# ,
net.core.netdev_max_backlog = 262144
#web listen backlog net.core.somaxconn 128, nginx NGX_LISTEN_BACKLOG 511,
net.core.somaxconn = 262144
# TCP 。 DoS , , ( )
net.ipv4.tcp_max_orphans = 3276800
# 。 128M , 1024, 128
net.ipv4.tcp_max_syn_backlog = 262144
# 。 1Gbps 。 “ ” 。
net.ipv4.tcp_timestamps = 0
# , SYN SYN ACK。 。 SYN+ACK
net.ipv4.tcp_synack_retries = 1
# SYN
net.ipv4.tcp_syn_retries = 1
# TCP time_wait sockets
net.ipv4.tcp_tw_recycle = 1
# TCP , time_wait sockets TCP ( time_wait )
net.ipv4.tcp_tw_reuse = 1
#1st ,TCP ,2nd ,3rdTCP socket( : )
net.ipv4.tcp_mem = 94500000 915000000 927000000
# , FIN-WAIT-2 。 , 。 60 。2.2 180 , , , WEB , ,FIN- WAIT-2 FIN-WAIT-1 , 1.5K , 。
net.ipv4.tcp_fin_timeout = 15
# keepalive ,TCP keepalive ( : )
net.ipv4.tcp_keepalive_time = 30
#
net.ipv4.ip_local_port_range = 2048 65000
#
fs.file-max = 102400
最後に更新を覚えています.直ちに有効になります./sbin/sysctl -p
【limits.com仕事原理】limits.co nfは
pam_limits.so
の構成ファイルであり、次いで/etc/pam.d/
の下のアプリケーションがpam_***.so
モジュールを呼び出す.例えば、ユーザがサーバにアクセスすると、サービスプログラムは要求をPAMモジュールに送信し、PAMモジュールはサービス名に基づいて/etc/pam.d
ディレクトリの下で対応するサービスファイルを選択し、サービスファイルの内容に応じて具体的なPAMモジュールを選択して処理する.【limits.com nf設定】
1)一時的に効力が発生し、通過に適用される.
ulimit
コマンド登録shellセッション期間ulimit -SHn 65535
2)永久的に有効となり、登録shellによって読み取られたファイルの一つ(例えば~/profile)に、対応するulimit文を追加することにより、shellに特化されたユーザリソースファイルとなる.または編集による/etc/security/limits.conf
# /etc/profile
echo ulimit -SHn 65535 >> /etc/profile
source /etc/profile
#
vi /etc/security/limits.conf
* soft nproc 11000
* hard nproc 11000
* soft nofile 655350
* hard nofile 655350