请教问题: Linux 下的 fd 数目限制

2018-09-26 09:56:20 +08:00
 initialdp
最近遇到一个奇怪的问题:
在命令行中手工启动某个程序,检查 /proc/xxxx/fd 目录, 能查到 1236 个 socket 句柄。
如果在 rc.local 中启动启动同样一个程序,检查 /proc/xxxx/fd 目录,只能查到 1024 个 socket 句柄。

用 ulimit -a 检查了 root 用户和当前用户的配置,都已经设置成了 65535.
root@Debian:/proc/3784/fd# 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) 16124
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
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) 16124
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited


这是什么情况呢? 有 v 友遇到过类似的问题吗? 似乎 rc.local 启动程序,使用了不同的资源限制? 系统是 Debian 7。

谢谢!
2089 次点击
所在节点    Linux
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/492626

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX