From 2fe5336c91e9ec51effcbf8628f8901efb0d7ba8 Mon Sep 17 00:00:00 2001 From: clowwindy Date: Sun, 13 Jul 2014 18:20:11 -0700 Subject: [PATCH] =?UTF-8?q?Updated=20=E4=BC=98=E5=8C=96=20Shadowsocks=20(m?= =?UTF-8?q?arkdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 优化-Shadowsocks.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/优化-Shadowsocks.md b/优化-Shadowsocks.md index 71d2c15..b9f48db 100644 --- a/优化-Shadowsocks.md +++ b/优化-Shadowsocks.md @@ -1,9 +1,9 @@ -如果您看到很多`error: too many open files`在你的日志中,这时你就应该优化你的系统了。 -本教程适用于所有Shadowsocks服务端 (Python版、libev版、还有其他...) +如果您看到很多 `error: too many open files` 在你的日志中,这时你就应该优化你的系统了。 +本教程适用于所有 Shadowsocks 服务端 (Python 版、libev 版、还有其他) -以下教程适用于Debian7系统: +以下教程适用于 Debian7 系统: -新建`/etc/sysctl.d/local.conf`这个文件并添加下面的内容: +新建 `/etc/sysctl.d/local.conf` 这个文件并添加下面的内容: ``` fs.file-max = 51200 @@ -34,17 +34,17 @@ net.ipv4.tcp_congestion_control = hybla `sysctl --system` -注意:**不要开启`net.ipv4.tcp_tw_recycle`!!!**[看这个文章](http://vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux.html)。 +注意:**不要开启 `net.ipv4.tcp_tw_recycle`!!!**[看这个文章](http://vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux.html)。 -如果你在使用[Supervisor](https://github.com/clowwindy/shadowsocks/wiki/Configure-Shadowsocks-with-Supervisor)的话,请确保您的`/etc/default/supervisor`文件中有下面这一行。您一旦添加了这一行,请重启Supervisor(`service stop supervisor && service start supervisor`) +如果你在使用 [Supervisor](https://github.com/clowwindy/shadowsocks/wiki/Configure-Shadowsocks-with-Supervisor) 的话,请确保您的`/etc/default/supervisor`文件中有下面这一行。您一旦添加了这一行,请重启 Supervisor(`service stop supervisor && service start supervisor`) ``` ulimit -n 51200 ``` -如果您通过其他方式来启动Shadowsocks,确保`ulimit -n 51200`在您的启动脚本中。 +如果您通过其他方式来启动 Shadowsocks,确保 `ulimit -n 51200` 在您的启动脚本中。 -优化后,一个繁忙的处理很多连接数的Shadowsocks服务器,会占用30MB的内存以及10%的CPU。要注意的是在这个时候,**Linux 内核使用了 >100MB 内存**来缓冲和缓存这些连接。用了上面提供的sysctl设置后,你的内存速度会得到提升。如果你想用更少内存的话,减少rmem 以及 wmem。 +优化后,一个繁忙的处理很多连接数的 Shadowsocks 服务器,会占用大约 30MB 的内存以及 10% 的 CPU。要注意的是同时,**Linux 内核使用了 >100MB 内存**来存储这些连接的缓存。用了上面提供的 sysctl 设置后,你是在用内存空间换取速度。如果你想用更少内存的话,减少 rmem 以及 wmem。 ![if_eth0-day](https://cloud.githubusercontent.com/assets/1073082/3358558/2a18bc5a-fadf-11e3-96c3-473c42f1a3a3.png) @@ -54,6 +54,6 @@ ulimit -n 51200 ![proc_mem-day](https://cloud.githubusercontent.com/assets/1073082/3358599/87c98c08-fadf-11e3-9fc9-949f4061d2ca.png) -Before & after: +使用前 & 使用后: ![cc](https://cloud.githubusercontent.com/assets/1073082/3296349/10c34b04-f5d9-11e3-95fc-e38f5299c274.jpg) \ No newline at end of file