7.7. 调整 IdM 目录服务器中文件描述符的最大数量
可以为 /etc/systemd/system.conf 文件中的 DefaultLimitNOFILE 参数定义一个值。具有 root 特权的管理员可使用 setrlimit 命令将 ns-slapd 进程的 DefaultLimitNOFILE 参数设置为较低的值。然后,这个值优先于 /etc/systemd/system.conf 中的值,并作为 nsslapd-maxdescriptors 属性的值被身份管理(IdM)目录服务器(DS)所接受。
nsslapd-maxdescriptors 属性设置 IdM LDAP 使用的独立于平台的文件描述符的最大值。文件描述符用于客户端连接、日志文件、套接字和其他资源。
如果没有在 /etc/systemd/system.conf 中或被 setrlimit 定义值,则 IdM DS 将 nsslapd-maxdescriptors 属性设置为 1048576。
如果 IdM DS 管理员稍后决定为 nsslapd-maxdescriptors 手动设置新值,则 IdM DS 将 setrlimit 或 /etc/systemd/system.conf 中定义的值与新值进行比较:
-
如果
nsslapd-maxdescriptors的新值比本地定义的值大,则服务器拒绝新值设置,并继续将本地限制值强制为高水位线值。 - 如果新值低于本地定义的值,则将使用新值。
这个流程描述了如何为 nsslapd-maxdescriptors 设置新值。
先决条件
- LDAP Directory Manager 密码
流程
检索
nsslapd-maxdescriptors参数的当前值,并在需要恢复任何调整前记录它。提示时输入 Directory Manager 密码。dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxdescriptors Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxdescriptors: 4096
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxdescriptors Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxdescriptors: 4096Copy to Clipboard Copied! Toggle word wrap Toggle overflow 修改
nsslapd-maxdescriptors属性的值。这个示例将值增加到8192。dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-maxdescriptors=8192
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-maxdescriptors=8192Copy to Clipboard Copied! Toggle word wrap Toggle overflow 身份验证为 Directory Manager 以进行配置更改。
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-maxdescriptors"
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-maxdescriptors"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
监控 IdM 目录服务器的性能。如果没有改进,请重复此步骤并将
nsslapd-maxdescriptors调整为不同的值,或者重新使用默认的4096。
验证
显示
nsslapd-maxdescriptors属性的值,并验证它已设置为您所需的值。dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxdescriptors Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxdescriptors: 8192
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxdescriptors Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxdescriptors: 8192Copy to Clipboard Copied! Toggle word wrap Toggle overflow