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

为了获得最佳产品性能,请在缺省的文件句柄数 1024 的基础上增加文件句柄数。

开始之前

请确保您具有 root 用户访问权。可能需要成为管理员才能更改文件句柄限制。

关于此任务

要点: 在使用产品之前,请增加文件句柄数。大多数 IBM® Rational® 产品使用的文件句柄数超过了每个进程 1024 个文件句柄这一缺省限制。

当您在 Linux 上增加文件描述符时,请谨慎。如果不正确遵循指示信息,您的计算机可能不会正确启动。

过程

  1. 以 root 用户身份登录。
  2. 切换至 etc 目录。
    注意: 如果在下一步中增加文件句柄数,请不要在计算机上保留空的 initscript 文件。否则,计算机关闭后将无法启动。
  3. 使用 vi 编辑器来编辑 etc 目录中的 initscript 文件。如果此文件不存在,那么输入 vi initscript 以创建此文件。
  4. 将限制设置为 4096:在第一行上,输入 ulimit -n 4096
    要点: 请不要将句柄数设置得过大,因为这会对系统范围性能产生不良影响。
  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 步使用相对较小的数目,那么是否修改 limits.conf 文件并不是很重要。 但是,如果在第 4 步设置较大的数目,并且未在 limits.conf 文件中设置限制,那么计算机性能将会降低。

示例

以下样本 limits.conf 文件对所有用户进行限制,然后对其他用户分别设置不同的限制。此样本中,句柄数设置为 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 文件之前,请务必阅读并理解该文件中包含的文档内容。

反馈