Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> LinuxシステムFAQ >> Linuxサーバネットワーク関連のカーネルパラメータ

Linuxサーバネットワーク関連のカーネルパラメータ

  

カーネルコアモジュールやドライバを含むほとんどすべてのカーネルモジュールは、/proc /sysファイルシステムの下にいくつかの設定ファイルを提供して、ユーザが調整したモジュールプロパティと動作を提供します。通常、設定ファイルはカーネルパラメータに対応し、ファイル名はパラメータの名前、ファイルの内容はパラメータの値です。 sysctl -aコマンドを使用して、これらすべてのカーネルパラメータを確認できます。以下では、ネットワークプログラミングにより密接に関連するカーネルパラメータについて説明します。

1. /proc /sys /fsディレクトリ内のファイル

/proc /sys /fsディレクトリ内のカーネルパラメータはファイルシステムに関連しています。サーバープログラムの場合、これらのうち最も重要なものは次の2つのパラメーターです。

/proc /sys /fs /fs /file-max、システムレベルのファイル記述子の制限。このパラメータを直接変更すると、「Linux Maximum File Descriptor」の変更方法と同じ効果があります(ただし、これらは一時的な変更です)。 /proc /sys /fs /file-maxを変更した後、アプリケーションは/proc /sys /fs /inode-maxを/proc /sys /fs /fs /file-maxの値の3-4倍に設定する必要があります。 iノード数が不足する可能性があります。

システムのfs.file-maxの説明を見てください。

/proc /sys /fs /file-max

このファイルは、システム全体の制限を定義します。すべてのプロセスで開かれているファイルの数(setrlimit(2)も参照)。プロセスが開くことのできるファイルの数に対して、プロセスごとの上限を設定するために使用できます。

RLIMIT_NOFILE。ファイルハンドルを使い尽くすことに関するエラーメッセージがたくさん出てくるので、この値を増やしてみてください。

echo 100000> /proc /sys /fs /file-max

カーネル定数NR_OPENは、 file-maxに設定できる値の上限。

/proc /sys /fs /file-maxを増やす場合は、必ず/proc /sys /fs /inode-maxを3に増やしてください。 /proc /sys /fs /file-maxの新しい値の-4倍、またはiノードが足りなくなります。

/proc /sys /fs /epoll /max_user_watches、ユーザーはepollカーネルイベントに移動できます。テーブルに登録されているイベントの総数。これは、単一のepollインスタンスがlistenできるイベントの数ではなく、ユーザーが開いたすべてのepollインスタンスがlistenできるイベントの総数を表します。 epollカーネルイベントテーブルにイベントを登録すると、32ビットシステムでは約90バイトのカーネルスペース、64ビットシステムでは160バイトのカーネルスペースが消費されます。したがって、このカーネルパラメータはepollが使用するカーネルメモリの総量を制限します。

次に、/proc /sys /netディレクトリにあるいくつかのファイル

カーネルのネットワークモジュールの関連パラメータは、TCP /IPプロトコルに関連する/proc /sys /netディレクトリにあります。パラメータは主に次の3つのディレクトリにあります:core、ipv4、ipv6。完全な接続を確立し、ESTABLISHED状態に入ることができるリスナーリスナキュー内のソケットを指定します。

/proc /sys /net /core /somaxconn。最大数

/proc /sys /net /ipv4 /tcp_max_syn_backlogには、リスナーリスナーキュー内のESTABLISHEDまたはSYN_RCVD状態に移動できるソケットの最大数を指定します。

/proc /sys /net /ipv4 /tcp_wmem。ソケットのTCP書き込みバッファの最小値、デフォルト値、最大値を指定する3つの値が含まれています。

/proc /sys /net /ipv4 /tcp_rmem。ソケットのTCP読み取りバッファの最小値、デフォルト値、最大値を指定する3つの値が含まれています。

/proc /sys /net /ipv4 /tcp_syncookiesは、TCP同期タグを開くかどうかを指定します。 syncタグは、クッキーを開始することによってリスナソケットが同じアドレスからの接続要求(同期セグメント)を繰り返し受信することを防ぎ、リスナリスナキューをオーバーフローさせます(いわゆるSYNストーム)。

ファイルを直接変更してこれらのシステムパラメータを変更するだけでなく、sysctlコマンドを使用してそれらを変更することもできます。これらの修正は両方とも一時的なものです。恒久的な変更は、対応するネットワークパラメータとその値を/etc/sysctl.confファイルに追加し、sysctl -pを実行して有効にすることです。これは、システムが開くことが許可されているファイル記述子の最大数を変更するのと同じです。

Copyright © Windowsの知識 All Rights Reserved