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設定】
#  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