ulimit 是一个用于控制 shell 运行时资源限制的命令行工具
查看当前 ulimit 设置:
ulimit -a
这将显示所有资源限制,包括打开文件描述符的最大数量、进程数等。
设置最大进程数:
要设置允许的最大进程数,可以使用以下命令:
ulimit -u <number_of_processes>
将 <number_of_processes> 替换为您希望设置的最大进程数。请注意,此设置仅对当前 shell 会话有效。要永久更改此设置,请编辑 /etc/security/limits.conf 文件并添加以下行:
* soft nproc <number_of_processes>
* hard nproc <number_of_processes>
这将分别为所有用户设置软限制和硬限制。您还可以将 * 替换为特定用户名以仅针对特定用户设置限制。
设置打开文件描述符的最大数量:
要设置允许的最大文件描述符数量,可以使用以下命令:
ulimit -n <number_of_file_descriptors>
将 <number_of_file_descriptors> 替换为您希望设置的最大文件描述符数量。同样,此设置仅对当前 shell 会话有效。要永久更改此设置,请编辑 /etc/security/limits.conf 文件并添加以下行:
* soft nofile <number_of_file_descriptors>
* hard nofile <number_of_file_descriptors>
这将分别为所有用户设置软限制和硬限制。您还可以将 * 替换为特定用户名以仅针对特定用户设置限制。
使更改生效:
如果您对 /etc/security/limits.conf 文件进行了更改,请重新登录以使更改生效。对于正在运行的进程,您需要手动终止它们并重新启动以应用新的限制。
请注意,ulimit 命令和 /etc/security/limits.conf 文件仅适用于通过 shell 启动的进程。对于系统服务和其他非交互式进程,您可能需要使用 systemd 或其他进程管理工具来设置资源限制。