LoginSignup
14
23

More than 3 years have passed since last update.

CentOS7 カーネルパラメータ チューニング

Last updated at Posted at 2020-01-10

はじめに

OSにデフォルトで掛かっている様々な制限を外し、ハードウェアの限界性能を引き出す。

主に、オープンファイル数の上限、起動プロセス数の上限、TCP/IPのポート数の上限、TCPコネクションの再利用促進、TCPの不正対策、IPv6無効化による資源の効率化、等々。

※カーネルパラメータの設定変更は自己責任でお願いします。
※必ず十分にテストをしてから、適用してください。

OSのファイル数上限、ユーザの起動プロセス数上限を変更

/etc/systemd/system.conf を開いて以下を変更する

DefaultLimitNOFILE=1048576
DefaultLimitNPROC=1048576

/etc/sysctl.conf を開いて以下を変更する

# システム全体のプロセス数の上限
#kernel.threads-max = 29990
kernel.threads-max = 1060863

# システム全体のファイルディスクリプタの上限
#fs.file-max = 379862
fs.file-max = 5242880

# TCP/IPの送信用ポート範囲の変更
#net.ipv4.ip_local_port_range = 32768    60999
net.ipv4.ip_local_port_range = 1024 65535

# TCPソケットが受け付けた接続要求を格納するキューの最大長
#net.core.somaxconn = 128
net.core.somaxconn = 65535

# ソケット当たりのSYNを受け付けてACKを受け取っていない状態のコネクションの保持可能数
#net.ipv4.tcp_max_syn_backlog = 128
net.ipv4.tcp_max_syn_backlog = 65535

# カーネルがキューイング可能なパケットの最大個数
#net.core.netdev_max_backlog = 1000
net.core.netdev_max_backlog = 16384

# TIME_OUT 状態のコネクションを再利用
#net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_tw_reuse = 1

#TCPのTIME_WAITの再利用を高速化(Linux4.12以降廃止)
net.ipv4.tcp_tw_recycle = 0
#TCPのFINを送信してからのタイムアウト時間
#net.ipv4.tcp_fin_timeout = 60
net.ipv4.tcp_fin_timeout=10

#通信がアイドル状態になった後にスロースタートさせるか
#net.ipv4.tcp_slow_start_after_idle = 1
net.ipv4.tcp_slow_start_after_idle = 0

# スプーフィング対策 送信元IPの偽装防止
net.ipv4.conf.all.rp_filter = 1

# RFC1337に準拠させる。
# TIME_WAIT状態のときにRSTを受信した場合、TIME_WAIT期間の終了を待たずにそのソケットをクローズする
#net.ipv4.tcp_rfc1337 = 0
net.ipv4.tcp_rfc1337 = 1

# IPv6 無効化(無効化しない場合コメントアウト)
#net.ipv6.conf.all.disable_ipv6=1
#net.ipv6.conf.default.disable_ipv6=1

# SYN flood攻撃対策(負荷テスト時など対策しない場合0にする)
#net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_syncookies = 0

設定反映

sysctl -p

設定確認

sysctl -a

OS再起動

# shutdown -r now

設定が反映されている事を確認する

# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 14995
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1048576
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1048576
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
14
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
23