当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : Ubuntu vps 为 shadowsocks 优化增加 文件数 (ulimit -n)
帖子发表于 : 2014-12-03 21:06 

注册: 2009-12-05 20:03
帖子: 77
送出感谢: 0 次
接收感谢: 3
https://github.com/clowwindy/shadowsock ... hadowsocks 有谈到 Optimizing Shadowsocks,实际上是设置 open files 突破 1024 的默认限制。在 Ubuntu 下的设置需要改动3个文件。

如下命令可以了解相关信息
代码:
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

bash: ulimit: open files: cannot modify limit: Operation not permitted

先建立个三行的脚本,用来测试
代码:
nano test.sh
内容为如下几行
代码:
#!/bin/bash
ulimit -n
ulimit -n 5120
ulimit -n

代码:
chmod +x test.sh


用 nobody 用户测试 (假设 shadowsocks 用 nobody 用户运行)
代码:
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


也许需要 reboot,再测试
代码:
cp ./test.sh /tmp/
sudo -u nobody /tmp/test.sh

输出为
代码:
60000
5120


表明成功了


页首
 用户资料  
 
2 楼 
 文章标题 : Re: Ubuntu vps 为 shadowsocks 优化增加 文件数 (ulimit -n)
帖子发表于 : 2014-12-03 21:12 

注册: 2009-12-05 20:03
帖子: 77
送出感谢: 0 次
接收感谢: 3
https://youtu.be/-z_CGwfjSn0 有用 64M 内存的 vps 配置 shadowsocks 的视频,并设置了开机自动启动


页首
 用户资料  
 
3 楼 
 文章标题 : Re: Ubuntu vps 为 shadowsocks 优化增加 文件数 (ulimit -n)
帖子发表于 : 2016-08-16 21:42 

注册: 2009-12-05 20:03
帖子: 77
送出感谢: 0 次
接收感谢: 3
在 16.04 上,不需要设置了
代码:
ulimit -n
ulimit -n 5120
ulimit -n

将看到直接设置为 5120了,不会像U14.04下得到如下错误
引用:
bash: ulimit: open files: cannot modify limit: Operation not permitted


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译