增加 Linux 工作站上的文件句柄数

要获得最佳产品性能,请将文件句柄数增加到缺省值 1024 个句柄以上。
关于此任务
要点: 使用 Rational® 产品之前,请增加文件句柄数。大多数 Rational 产品使用的每进程文件句柄数大于缺省限制值 1024。系统管理员可能需要进行此更改。
如果您要在同一 Linux 工作站上安装 Oracle,请使用以下值的较大者
  • Oracle 安装指南推荐的文件句柄数
  • 此过程中推荐的文件句柄数。

使用以下步骤在 Linux® 上增加文件描述符时,请务必小心。如果没有正确遵循指示信息,计算机可能无法正常启动。

要增加文件描述符:

  1. 以 root 用户身份登录。如果没有 root 访问权,您需要先获得该权限然后才能继续。
  2. 更改至 etc 目录
    注意: 如果决定在下一步骤中增加文件句柄数,请不要在计算机上留下空的 initscript 文件。如果这样做,下次您开启或重新启动计算机时,计算机将无法启动。
  3. 使用 vi 编辑器编辑 etc 目录中的 initscript 文件。如果此文件不存在,请输入 vi initscript 创建。
  4. 在第一行,输入 ulimit -n 4096。要点在于 4096 远远大于大多数 Linux 计算机上的缺省值 1024。
    要点: 不要将句柄数设置得过大,因为这样会对系统范围的性能造成负面影响。
  5. 在第二行,输入 eval exec "$4"
  6. 确保您已完成步骤 4 和 5 之后,保存并关闭该文件。
    注: 确保已正确遵循这些步骤。如果此过程没有正确完成,计算机将无法启动。
  7. 可选: 通过修改 etc/security 目录中的 limits.conf 文件可限制对用户或组可用的句柄数。缺省情况下,SUSE Linux Enterprise Server(SLES)V9 和 Red Hat Enterprise Linux V4.0 均具有此文件。如果没有此文件,请考虑在前一过程的步骤 4 中使用较小的数字(例如,2048)。这样做的话,对于每进程允许的打开文件数,大多数用户就有一个合理的较低限制。如果在步骤 4 中使用相对较小的数字,那么执行此操作的重要性就较低。然而,如果在先前步骤 4 中设置较大的数字,但未在 limits.conf 文件中确定限制,计算机性能可能会显著降低。
    以下样本 limits.conf 文件限制所有用户,然后为之后的其他用户设置不同限制值。此样本假设您在先前的步骤 4 中将句柄数设置为 8192。

    *      soft nofile 1024
    *      hard nofile 2048
    root    soft nofile 4096
    root    hard nofile 8192
    user1   soft nofile 2048
    user1 hard nofile 2048

    请注意,上例中的 * 首先为所有用户设置了限制值。这些限制值低于后面的限制值。允许打开的句柄数对于 root 用户具有较大的值,而对于 user1 的数量则在两者之间。进行更改之前,请确保您阅读并理解了包含在 limits.conf 文件中的文档。
下一步做什么
有关 ulimit 命令的更多信息,请参阅 ulimit 的联机帮助页。

反馈