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

为实现最佳产品性能,可将文件句柄数增加到缺省设置 1024 个句柄以上。

关于此任务

要点: 使用 Rational® 产品之前,请增加文件句柄数。大多数 Rational 产品使用的文件句柄数超过了每个进程使用 1024 个文件句柄这一缺省限制。系统管理员可能需要进行此更改。

在执行下列步骤来增加 Linux 上的文件描述符时,务必谨慎。如果未正确遵循说明,计算机可能无法正常启动。

过程

要增加文件描述符:

  1. 以 root 用户身份登录。如果您不具有 root 用户访问权,必须获取该访问权才能继续。
  2. 切换到 etc 目录。
    注意: 如果决定在下一步中增加文件句柄数,那么请勿在计算机上留下空的 initscript 文件。如果存在空的 initscript 文件,那么您下次打开或重新启动计算机时,它将无法启动。
  3. 使用 vi 编辑器来编辑 etc 目录中的 initscript 文件。如果此文件不存在,则输入 vi initscript 以创建此文件。
  4. 在第一行上,输入 ulimit -n 30000。要点在于 30000 远大于大多数 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 命令的更多信息,请参阅 Linux 文档中 ulimit 的主页。

反馈