【CentOS7】負荷がかかるとnf_conntrack: table full, dropping packetとかでる

【CentOS7】負荷がかかるとnf_conntrack: table full, dropping packetとかでる CentOS7

なんか、中途半端にアクセスできなくなるときがある

最近起こったことで、備忘録です。どうも、負荷が上がったときに発生しているようでした。

messagesを見ると、以下のようなエラーがでました。

nf_conntrack: table full, dropping packet

iptablesのネットワークのコネクションを管理するテーブルやらがいっぱいになって、入りきらないから捨てた。ということみたいですね。

 

今回は特に、どこかから変な攻撃されたりということではなくて単純にリソース不足が原因でした。

 

まずは値を確認

cat /proc/sys/net/netfilter/nf_conntrack_max

と実行すると

31712

と戻ってきました。

 

この値を変更します。

 

値を変更

etc/sysctl.confに対して以下を追加して、sysctl -pで読みこみしました。

net.netfilter.nf_conntrack_max = 100000
net.nf_conntrack_max = 100000

そして、値が変更されていることを確認して完了です。

 

メモリの注意点

この値を変更する件ですが、サーバのメモリの量に注意してください。多くしすぎるとサーバが死ぬ可能性があります。swap領域を利用できないものらしく、メモリが足らなくなると死にます。

この辺を見ると1個あたり350バイト必要になるようです。サーバのメモリと相談しましょう。

 

参考にしてみてください。では。