GNU/Linux >> Linux の 問題 >  >> Cent OS

UDEV ルールを使用して nr_requests を永続的に設定する方法

nr_requests はブロック デバイスのパラメータです。読み取りまたは書き込みリクエストのブロック レイヤに割り当てられる最大リクエスト数を制御します。デフォルト値は 128 です .一般的に言えば、値を調整することが推奨される場合があります:

  • 値を大きくすると I/O スループットが向上しますが、メモリ使用量も増加します。
  • 値を小さくすると、レイテンシに敏感なリアルタイム アプリケーションにメリットがありますが、I/O スループットも低下します。

この投稿では、システムの再起動後もパラメーターを永続的に設定する方法について詳しく説明しています。

1.新しい udev ルールを作成します。

たとえば、/etc/udev/rules.d/71-nr-requests.rules ファイルを作成します。 、次の内容:

SUBSYSTEM!="block", GOTO="end_rule"
ENV{DEVTYPE}=="partition", GOTO="end_rule"
ACTION!="add|change", GOTO="end_rule"
KERNEL=="sd*", ATTR{queue/nr_requests}="256" 
LABEL="end_rule"

上記のルールは、すべての sd* デバイスに対して nr_requests を 256 に設定します。一部 (sda や sdb など) をブラックリストに登録する必要がある場合は、次のようなルールを使用します:

SUBSYSTEM!="block", GOTO="end_rule"
ENV{DEVTYPE}=="partition", GOTO="end_rule"
ACTION!="add|change", GOTO="end_rule"
KERNEL=="sda|sdb", GOTO="end_rule"
KERNEL=="sd*", ATTR{queue/nr_requests}="256"
LABEL="end_rule"

2.ルールを適用

ルールを適用する前に、「nr_requests」パラメータの値を確認してください:

$ grep "" /sys/block/sd*/queue/nr_requests
/sys/block/sda/queue/nr_requests:128
/sys/block/sdb/queue/nr_requests:128

CentOS/RHEL 6 以降にルールを適用します:

# udevadm trigger

CentOS/RHEL 5 で使用

# udevtrigger

ルールを適用した後、「nr_requests」パラメータ値を確認してください:

$ grep "" /sys/block/sd*/queue/nr_requests
/sys/block/sda/queue/nr_requests:256
/sys/block/sdb/queue/nr_requests:256


Cent OS
  1. CentOS7でPacemakerを使用してNginx高可用性クラスターをセットアップする方法

  2. CentOS / RHEL 7 :マルチパス ディスクで ASM の udev ルールを設定する方法

  3. udev ルールを使用してデバイス ファイルの所有者/グループを構成する方法

  1. CentOS/RHEL 7 で udev サービスの children-max を設定する方法

  2. UDEV ルールを使用して nr_requests を永続的に設定する方法

  3. CentOS/RHEL 8 で Udev ルールを使用して oracleasm ディスクを作成する方法

  1. CentOS 7ノードを使用してMySQLマスタースレーブセットアップをセットアップする方法は?

  2. iptablesルールをフラッシュする方法

  3. 再起動せずにUdevルールをリロードする方法は?