Dav*_*ave 17 linux kernel redhat
是否可以将打开文件的最大数量设置为某个"无限"值,还是必须是数字?
我要求将守护程序用户的描述符限制设置为"无限制",并且我正在尝试确定是否可行或如何执行此操作.我已经看到一些邮件列表引用了可以使用的"max"值(如:"myuser hard nofile max",但到目前为止,我咨询过的手册页和引用并没有提到它.
如果我不能使用'max'或类似的,我想知道如何确定最大文件数(理论上),所以我有一些基础,我选择的数字.如果有更合理的方法来获得上限,我不想使用100000000或其他东西.
如果它很重要,我正在使用RHEL 5.
更新:在撰写问题时,我是个白痴.理想情况下,我想在limits.conf文件中执行此操作(这是"max"的来源).这会改变任何答案吗?
感谢您的评论.这是针对JBOSS实例而不是我正在编写的守护进程所以我不知道setrlimit()是否对我有用.然而,Jefromi - 我确实喜欢Infinity的定义:)我看到一篇帖子暗示文件描述符是"两个短裤和一个指针"所以我应该能够计算出近似的上限.
mar*_*k4o 38
POSIX允许您将RLIMIT_NOFILE资源限制设置为RLIM_INFINITY使用setrlimit().这意味着系统不会强制执行此资源限制.当然,您仍然会受到实现(例如MAXINT)和任何其他资源限制(例如可用内存)的限制.
更新:对于此限制(in ),RHEL 5的最大值为1048576(2 20),并且不接受任何较大的值,包括无穷大,即使对于root也是如此.因此,在RHEL 5上,您可以使用此值,并且尽可能接近无穷大.NR_OPEN/usr/include/linux/fs.h/etc/security/limits.conf
不久前,应用了一个Linux内核补丁,允许将此限制设置为无限,但此后由于意外后果而被恢复.