调整Linux内核解决C500k问题

来源:互联网 发布:alpine mysql 编辑:程序博客网 时间:2024/05/19 17:56

原文:

Kernel Options

Several parameters exist to allow for tuning and tweaking of socket-related parameters. In/etc/sysctl.conf there are a few options we’ve modified.

First is fs.file-max, the maximum file descriptor limit. The default is quite low so this should be adjusted. Be careful if you’re not ready to go super high.

Second, we have the socket buffer parameters net.ipv4.tcp_rmem andnet.ipv4.tcp_wmem. These are the buffers for reads and writes respectively. Each requires three integer inputs: min, default, and max. These each correspond to the number of bytes that may be buffered for a socket. Set these low with a tolerant max to reduce the amount of ram used for each socket.

The relevant portions of our config look like this:

fs.file-max = 999999net.ipv4.tcp_rmem = 4096 4096 16777216net.ipv4.tcp_wmem = 4096 4096 16777216

Meaning that the kernel allows for 999,999 open file descriptors and each socket buffer has a minimum and default 4096-byte buffer, with a sensible max of 16MB.

We also modified /etc/security/limits.conf to allow for 999,999 open file descriptors for all users.

第一步:

sudo vim /etc/sysctl.conf

增加:

fs.file-max = 999999net.ipv4.tcp_rmem = 4096 4096 8192net.ipv4.tcp_wmem = 4096 4096 8192net.ipv4.ip_local_port_range = 1024 65535

第二步:

sudo vim /etc/security/limits.conf

增加:

* - nofile 999999
第三步:
sudo reboot