IBM Streams 4.2

更新 IBM Streams 的 ulimit 设置

具有多种方式来更改 ulimit 设置。此过程中的示例显示一种如何更改 IBM® Streams 的硬性和软性 ulimit 设置的方法。

开始之前

在更改 ulimit 设置之前,请联系您的系统管理员。

过程

  1. 以 root 用户身份更新 ulimit 设置。

    以下示例说明一种如何为 IBM Streams 资源的所有用户更改硬和软设置的方式。

    注:
    • 如果以下示例中的 .conf 文件不在系统上,那么使用此示例中的相同名称创建文件,然后编辑该文件,如以下示例中所示。

    • 对于 RHEL 和 CentOS,/etc/security/limits.d 目录中的文件覆盖 /etc/security/limits.conf 配置文件中的属性。
      • 缺省情况下,RHEL 和 CentOS 在 limits.d 文件以及 /etc/security/limits.d 目录中的缺省文件中针对最大用户进程数设置一些 ulimit 值。

      • /etc/security/limits.d 目录的文件名中 filenumber 指示哪个文件生效。将使用文件名中具有最大数字的文件中的值。例如,如果 /etc/security/limits.d 目录包含 21-nofile.conf22-nofile.conf 文件,那么会使用 22-nofile.conf 文件中的值。

    示例:

    要更改 open files(打开文件数)值,请使用适用于您操作系统的过程。

    • 在 RHEL 和 CentOS 上,将以下行添加到 /etc/security/limits.d/filenumber-nofile.conf 文件,如以下示例中所示:
      * - nofile open-files-value
    • 在 SLES 上,将以下行添加到 /etc/security/limits.conf 文件,如以下示例中所示:
      * - nofile open-files-value

    要更改 max user processes(最大用户进程数)值,请使用适用于您操作系统的过程。

    • 在 RHEL 和 CentOS 上,将以下行添加到 /etc/security/limits.d/filenumber-nproc.conf 文件,如以下示例中所示:
      * - nproc max-user-processes-value
    • 在 SLES 上,将以下行添加到 /etc/security/limits.conf 文件,如以下示例中所示:
      * - nproc max-user-processes-value

    要设置 hard stack(硬堆栈)和 soft stack(软堆栈)值,请使用适用于您操作系统的过程:

    注: 软堆栈大小可能太小,而不适用于 IBM Streams 应用程序,当您的应用程序需要较大堆栈大小时尤其如此。如果软堆栈大小太小,可能会发生 PE 问题。常见症状是 PE 启动后终止,PE 启动失败,PE 启动但未能达到正常运行状态或者 PE 启动并达到未知状态。
    • 在 RHEL 和 CentOS 上,将以下行添加到 /etc/security/limits.d/filenumber-stack.conf 文件,如以下示例中所示:
      * hard stack unlimited 
      * soft stack 20480
    • 在 SLES 上,将以下行添加到 /etc/security/limits.conf 文件,如以下示例中所示:
      * hard stack unlimited 
      * soft stack 20480

  2. 要使更改生效,请执行以下操作:

    • 如果 IBM Streams 服务和应用程序未在运行,IBM Streams 用户可注销后再登录系统。

    • 如果 IBM Streams 服务和应用程序正在运行,请使用适用于您环境的过程:
      • 如果使用 SSH 作为通信机制,或正以非 root 身份将域控制器服务作为未注册服务运行:
        1. 停止该域。
        2. 启动该域。

      • 如果正将域控制器服务作为已注册 Linux 系统服务运行或以 root 用户身份将其作为未注册服务运行,请执行以下操作:
        1. 针对域中每个资源,运行 streamtool stopdomainhost 命令。
        2. 停止该域。
        3. 针对域中每个资源,运行 streamtool startdomainhost 命令。如果正将控制器作为未注册服务运行,请指定 --unregistered 选项。
        4. 启动该域。
  3. 要验证是否更新了 ulimit 设置,请使用查看 IBM Streams 的 ulimit 设置中的过程。