linux - 在 Linux 上 - 将最大打开文件设置为无限制。可能的?

标签 linux kernel redhat

是否可以将打开文件的最大数量设置为某个“无限”值或者它必须是一个数字?

我需要将守护进程用户的描述符限制设置为“无限制”,我正在尝试确定这是否可行或如何实现。我已经看到一些邮件列表提到了可以使用的“最大”值(如:“myuser hard nofile max”,但到目前为止,我查阅的手册页和引用资料并未支持这一点。

如果我不能使用“最大”或类似的,我想知道如何确定文件的最大数量(理论上),这样我就可以为我选择的任何数量提供一些依据。如果有更合理的方法来获得上限,我不想使用 100000000 或其他东西。

如果它很重要,我会使用 RHEL 5。

更新:在写问题时我是个白痴。理想情况下,我想在 limits.conf 文件中执行此操作(这是“max”的来源)。这会改变任何答案吗?


感谢您的评论。这是针对 JBOSS 实例而不是我正在编写的守护进程,所以我不知道 setrlimit() 是否对我有用。然而,Jefromi - 我确实喜欢 Infinity 的定义 :) 我看到一篇文章建议文件描述符是“两个短裤和一个指针”,所以我应该能够计算出近似的上限。

最佳答案

POSIX 允许您使用 setrlimit()RLIMIT_NOFILE 资源限制设置为 RLIM_INFINITY .这意味着系统不会强制执行此资源限制。当然,您仍然会受到实现(例如 MAXINT)和任何其他资源限制(例如可用内存)的限制。

更新:对于此限制(/usr/中的NR_OPEN),RHEL 5 的最大值为 1048576 (220) include/linux/fs.h),并且不会接受任何更大的值,包括无穷大,即使对于 root 也是如此。因此,在 RHEL 5 上,您可以在 /etc/security/limits.conf 中使用此值,这与您将要达到的无限接近。

不久前a Linux kernel patch被应用以允许将此限制设置为无穷大,但是it has since been reverted as a result of unintended consequences .

关于linux - 在 Linux 上 - 将最大打开文件设置为无限制。可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1212925/

相关文章:

linux - 在 Red Hat 6.7 中服务崩溃后 inittab 不重新启动服务

linux - 无法安装 Joomla 或 Wordpress 组件和插件

Linux 无法正确安装 apt-get 或 aptitude 安装包

更改Linux 3.5.0内核任务调度程序

operating-system - 使用当前的 autotools 移植 Newlib

Linux free 显示高内存使用率,但 top 没有

php - 使用 X/Gui-less linux 生成网页的图像/缩略图

linux - Mpich2 - hydra_pmi_proxy : error while loading libraries: libcr. so.0

linux - ionice 'idle' 没有达到预期的效果

linux - 如何在 Red Hat 3.4.6-3 中安装 yum