パラメータ | 説明 | 初期設定 |
net.ipv4.tcp_tw_recycle | このパラメーターは、TIME_WAIT接続をすばやくリサイクルするために使用されます。無効にする場合は、カーネルはパケットのタイムスタンプをチェックしません。有効にする場合は、カーネルはパケットのタイムスタンプをチェックします。タイムスタンプが単調に増加していない場合にパケット損失が発生する可能性があるため、このパラメータを有効にすることはお勧めしません。Linux のカーネルパラメータ net.ipv4.tcp_tw_recycle は、バージョン4.12から廃止されました。 | 0 |
net.core.somaxconn | このパラメーターは、ACCEPTキューがない場合に、3ウェイ・ハンドシェイクの終了時にEstablished状態を定義するために使用されます。 ACCEPTキューが長い場合は、クライアントの処理速度が遅いか、短時間で新しい接続がバーストしていることを示します。 net.core.somaxconnの設定値が低すぎると、サーバーがSYNパケットを受信し、somaxconnテーブルがいっぱいになると、新しいSYN接続が破棄されるため、パケット損失が発生する可能性があります。複数の業務を同時進行させなければいけない場合、net.core.somaxconnの設定値を増やすことができますが、遅延が長くなる可能性があります。 | 128 |
net.ipv4.tcp_max_syn_backlog | このパラメーターは、SYN_RECVキュー内の接続の最大量を決定します。一般的なシンフラッド攻撃から防御するために使用されます。ただし、tcp_syncookies = 1の場合、SYN_RECVキュー内の接続数が上限を超えます。 | - |
net.ipv4.tcp_syncookies | このパラメータは、SYN Cookieが有効かどうかを決定し、一部のSYN攻撃を防ぎます。有効にすると、SYNキューがオーバーフローしたときに接続を確立できます。ただし、SHA1は、このパラメータを有効にした後にCookieを検証するために使用されるため、理論的にはCPU使用率が増加します。 | 1 |
net.core.rmem_defaultnet.core.rmem_maxnet.ipv4.tcp_memnet.ipv4.tcp_rmem | これらのパラメーターは、受信データのキャッシュサイズを設定するために使用されます。サイズを高く設定しすぎるとメモリリソースが浪費される可能性があり、サイズを低く設定しすぎるとパケット損失が発生する可能性があります。自身のビジネスが高並列接続に属しているのか、並列性の低い高スループットの状況に属しているのかを判断し、構成を最適化することをお勧めします。 rmem_default:理論的に最適な構成ポリシーは、帯域幅/RTT の積(帯域幅遅延積)です。 rmem_max構成は、rmem_defaultの約5倍です。 tcp_memはシステム全体でTCP が消費できるメモリの最大値。通常、CVMの使用可能なメモリの3/32、1/8、または3/16に自動的に設定されます。パラメータtcp_memおよびrmem_defaultは、同時接続する最大数を決定します。 | rmem_default=655360rmem_max=3276800 |
net.core.wmem_defaultnet.core.wmem_maxnet.ipv4.tcp_wmem | これらのパラメーターは、データ送信キャッシュを構成するために使用されます。通常、Tencent Cloudプラットフォームでのデータ送信にボトルネックはなく、構成は必要ありません。 | - |
net.ipv4.tcp_keepalive_intvlnet.ipv4.tcp_keepalive_probesnet.ipv4.tcp_keepalive_time | これらのパラメータはTCP KeepAliveに関連しており、デフォルトは75/9/7200です。デフォルト設定では、TCP接続が7,200秒間アイドル状態になるとカーネルが検出を開始し、9回の検出失敗(毎回75秒)後にRSTを送信します。サーバーにとってデフォルト値が高すぎます、ビジネスに応じて 30/3/1800に調整できます。 | - |
net.ipv4.ip_local_port_range | このパラメーターは、使用可能なポート範囲を構成するために使用されます。必要に応じて調整できます。 | - |
tcp_tw_reuse | このパラメーターは、新しいTCP接続でTIME_WAIT状態のソケット再利用することを許可します。これにより、固定ポートを使用するリンクをすばやく再起動できますが、NATベースのネットワークにリスクを伴う可能性があります。カーネルの上位バージョンは0/1/2の3つの値に変更され、2に構成されます。 | - |
net.ipv4.ip_forwardnet.ipv6.conf.all.forwarding | このパラメーターは、IP転送を指定するために使用されます。 Dockerのルーティング転送シナリオで1に構成できます。 | 0 |
net.ipv4.conf.default.rp_filter | このパラメータは、受信したデータパケットに対するENIのリバースパス検証ルールを指定するために使用されます。0、1(RFC3704で定義された厳密なモード、推奨され)、2に設定できます。RFC3704 における現在の推奨プラクティスは DDos 攻撃によるIPスプーフィングを回避するために厳密モードを有効にすることです。 | - |
net.ipv4.conf.default.accept_source_route | CentOSの公式Webサイトの推奨事項によると、ソースルーティング情報を含むIPパケットはデフォルトで受け入れられません。 | 0 |
net.ipv4.conf.all.promote_secondariesnet.ipv4.conf.default.promote_secondaries | このパラメータは、元のプライマリIPアドレスが削除された後にセカンダリIPアドレスがプライマリIPになるかどうかを指定するために使用されます。 | 1 |
net.ipv6.neigh.default.gc_thresh3net.ipv4.neigh.default.gc_thresh3 | ARP キャッシュに保存されるエントリ数のハードな最大値。キャッシュのエントリがこの数を越えると、ガベージ・コレクタはただちに実行されます。 | 4096 |
パラメータ | 説明 | 初期設定 |
vm.vfs_cache_pressure | 既定値は 100で、このパーセント値はカーネルがディレクトリとiノードオブジェクトのキャッシュに使用されるメモリを再利用するときの傾向を制御します。vfs_cache_pressureを100より大きくすると、カーネルはdentryとiノードキャッシュのメモリをより積極的に再利用するようになります。多くのカールベースのビジネスでは、dentryの蓄積により、メモリが一杯になり、OOMやカーネルのバグなど、想定外の問題が発生する可能性があります。再利用の頻度とパフォーマンスのバランスをとるために、250に設定することをお勧めします。必要に応じて調整できます。 | 250 |
vm.min_free_kbytes | このパラメーターは、起動時にシステムの使用可能な物理メモリMEMに従って自動的に計算されます:4 * sqrt(MEM)。min_free_kbytes を使用して、カーネルスレッドで使用するための最小キロバイト数の空きメモリを保持するように強制します。この値を大きく設定する必要はありません。サーバーがパケットのマイクロバーストを受信すると、OOM状態が発生する可能性があります。高構成サーバーでは、デフォルトでvm.min_free_kbytesを合計メモリの約1%になるように構成することをお勧めします。 | - |
kernel.printk | printkの出力レベルを指定します。printkはカーネル内でのロギング(情報出力)のために使用しますが、その情報量を制御できます。デフォルトの構成は5以上です。 | 5 4 1 7 |
kernel.numa_balancing | このパラメータは、カーネルがプロセスデータを対応するNUMAノードに自動的に移動できることを示していますが、効果が良くない、パフォーマンスに影響を与える可能性があります。Redisユースケースでこのパラメータを有効にすることができます。 | 0 |
kernel.shmallkernel.shmmax | Linux プロセスが仮想アドレス空間に割り当てることができる1つの共有メモリーセグメントの最大サイズをバイト単位で定義します。 システム全体で使用できる共有メモリーページの合計を定義します。 | kernel.shmmax=68719476736kernel.shmall=4294967296 |
パラメータ | 説明 | 初期設定 |
fs.file-maxfs.nr_open | これらの2つのパラメーターはそれぞれ、システム内のすべてのプロセスと単一プロセスが同時にオープンできるファイル数の最大値を制御します。 file-maxは、OS起動時に自動的に構成され、約100,000/GBです。 nr_openのデフォルト値は 1,048,576であり、このパラメーターはユーザーモード環境で開くことができる最大ファイル数が制限されます。通常、この値は変更しないでください。最大オープンファイル数を変更するには、/etc/security/limits.conf 構成ファイルでulimit -nパラメーターを構成してください。 | ulimitが開いているファイルの数は100001です。fs.nr_open=1048576 |
kernel.pid_max | このパラメーターは、システム内のプロセスID(PID)の最大値を指定します。公式イメージのデフォルト値は32768で、必要に応じて調整できます。 | - |
kernel.core_uses_pid | この構成により、コアダンプファイルの生成時にpidが含まれるかどうかが決まります。 | 1 |
kernel.sysrq | このパラメータを有効にした後、/proc/sysrq-triggeで関連する操作を実行できます。 | 1 |
kernel.msgmnbkernel.msgmax | kernel.msgmaxパラメータはメッセージキューでの単一メッセージの最大許容サイズをバイト単位で定義します。 | 65536 |
kernel.softlockup_panic | ソフトロックアップが検出されたときにカーネルでパニックを発生させるどうかを制御します。kdump構成に基づいてvmcoreが生成され、ソフトロックアップの原因を分析するために使用できます。 | - |
パラメータ | 説明 | 初期設定 |
vm.dirty_background_bytes vm.dirty_background_ratio vm.dirty_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_writeback_centisecs | これらのパラメーターは主に、ディスクに書き戻されるIOポリシーを構成するために使用されます。 dirty_background_bytes/dirty_bytesとdirty_background_ratio/dirty_ratioは、それぞれメモリダーティページしきい値の絶対数と比率に対応します。一般的に、ratioが指定されます。 dirty_background_ratio は、パーセントの値を定義します。ダーティーデータのwriteout は (pdflush 経由で) ダーティーデータがメモリ合計のこのパーセントを占める際にバックグラウンドで開始されます。デフォルト値は10です。 dirty_ratioはpdflushが書き込みを始めるまでのダーティページの最大割合です。メモリ全体の中でダーティページの割合がこの値を超えると、すべてのダーティデータをディスクに書き込む必要があります。ダーティデータがディスクに書き込まれるまですべての新しいIOがブロックされます。システムは最初にvm.dirty_background_ratioの条件に到達し、次に flushプロセスをトリガーして非同期ライトバック操作を実行します。この時点でも、アプリケーションプロセスは書き込み操作を実行できます。vm.dirty_ratioパラメーターで設定された値に達すると、OSはダーティページを同期的に処理し、アプリケーションプロセスをブロックします。 vm.dirty_expire_centisecs はダーティーデータがディスクに書き戻されるまでにページキャッシュにとどまる時間を1/100 秒単位で指定します。 vm.dirty_writeback_centisecsはディスクキャッシュのフラッシュが開始される頻度、単位は1/100秒です。 | - |
この記事はお役に立ちましたか?