在 CentOS 系统中,ulimit 配置文件的位置及作用如下:
全局配置文件:
/etc/security/limits.conf:这是主要的全局 ulimit 配置文件。你可以在这里为不同的用户或用户组设置资源限制。系统级配置文件:
/etc/sysctl.conf:虽然主要用于系统内核参数配置,但也可以通过 sysctl 命令来调整一些与资源限制相关的参数。会话级配置文件:
~/.bashrc 或 ~/.bash_profile 文件来设置会话级的 ulimit 参数。ulimit 命令用于控制 shell 进程及其子进程可以使用的资源限制。以下是一些常见的 ulimit 参数及其作用:
core 文件大小 (core file size):限制核心转储文件的大小。
ulimit -c unlimited
CPU 时间 (cpu time):限制进程可以使用的最大 CPU 时间(秒)。
ulimit -t unlimited
文件大小 (file size):限制单个文件的最大大小。
ulimit -f unlimited
最大进程数 (max user processes):限制单个用户可以同时运行的最大进程数。
ulimit -u 4096
打开文件描述符的数量 (open files):限制进程可以同时打开的最大文件描述符数量。
ulimit -n 1024
栈大小 (stack size):限制进程的栈大小。
ulimit -s 8192
在 /etc/security/limits.conf 文件中添加以下行来设置用户 username 的资源限制:
username soft core unlimited
username hard core unlimited
username soft nproc 4096
username hard nproc 4096
username soft nofile 1024
username hard nofile 1024
修改 limits.conf 文件后,需要重新登录或重启系统以使更改生效。对于某些参数,可以使用 ulimit 命令在当前会话中临时更改:
ulimit -n 2048 # 临时将打开文件描述符的数量设置为 2048
通过这些配置,你可以有效地管理和控制系统中各个用户的资源使用情况,确保系统的稳定性和安全性。