Ubuntu vps 为 shadowsocks 优化增加 文件数 (ulimit -n)
发表于 : 2014-12-03 21:06
https://github.com/clowwindy/shadowsock ... hadowsocks 有谈到 Optimizing Shadowsocks,实际上是设置 open files 突破 1024 的默认限制。在 Ubuntu 下的设置需要改动3个文件。
如下命令可以了解相关信息
前三行报告的是操作系统级别的设定,最后一行报告的是用户的。 的运行结果如下
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 47557
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
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) 47557
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
想把 open files 的数目改大点,是不让的
bash: ulimit: open files: cannot modify limit: Operation not permitted
先建立个三行的脚本,用来测试 内容为如下几行
用 nobody 用户测试 (假设 shadowsocks 用 nobody 用户运行)
报告出错
添加
以及
这两文件添加如下行
也许需要 reboot,再测试
输出为
表明成功了
如下命令可以了解相关信息
代码: 全选
cat /proc/sys/fs/file-max #得到的值比如 601324, 确保下面要设置的值比该值小
cat /proc/sys/fs/file-nr
sysctl -a | grep fs.file-max
ulimit -a
代码: 全选
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) 47557
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
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) 47557
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
想把 open files 的数目改大点,是不让的
代码: 全选
ulimit -n 5120
先建立个三行的脚本,用来测试
代码: 全选
nano test.sh
代码: 全选
#!/bin/bash
ulimit -n
ulimit -n 5120
ulimit -n
代码: 全选
chmod +x test.sh
代码: 全选
cp ./test.sh /tmp/
sudo -u nobody /tmp/test.sh
代码: 全选
nano /etc/security/limits.conf
代码: 全选
nobody soft nofile 60000
nobody hard nofile 60000
代码: 全选
nano /etc/pam.d/common-session
nano /etc/pam.d/common-session-noninteractive
代码: 全选
session required pam_limits.so
代码: 全选
cp ./test.sh /tmp/
sudo -u nobody /tmp/test.sh
代码: 全选
60000
5120