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

关于此任务

要点:为了获得最佳的结果,在使用 Rational® 产品前,请增加可供 Rational Functional Tester 使用的文件句柄数,这是因为此产品使用的文件句柄数超过了每个进程使用 1024 个文件句柄这一缺省限制。此更改可能只能由系统管理员执行。

在遵循下列步骤来增加 Linux® 上的文件描述符时,请务必谨慎。如果未正确地按照指示信息执行操作,可能会导致计算机无法正常启动。为了获得最佳的结果,应该请系统管理员执行此过程。

过程

  1. 以 root 用户身份登录。如果您不具有 root 用户访问权,则必须先获取 root 用户访问权,然后才能继续。
  2. 切换至 etc 目录。
  3. 使用 vi 编辑器来编辑 etc 目录中的 initscript 文件。如果此文件不存在,则输入 vi initscript 以创建此文件。

    要点:如果您决定增加文件句柄数,则计算机上不能存在空的 initscript 文件。如果存在空的 initscript 文件,则您下次打开或重新启动计算机时,它将无法启动。

  4. 在第一行输入 ulimit -n 4096(此处的关键在于数目远大于 1024,即大多数 Linux 计算机上的缺省值)。注意:请勿将此值设置得太大,以免严重影响整个系统的性能。
  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 的联机帮助页。

反馈