ulimit 命令在 CentOS(以及其他 Linux 发行版)中用于设置或查看用户进程的资源限制。这些资源限制可以包括文件大小、进程数量、内存使用等。ulimit 命令通常用于系统管理、性能调优和安全控制。
以下是一些常见的 ulimit 使用场景:
你可以使用 ulimit -a 命令来查看当前用户的所有资源限制。
ulimit -a
你可以使用 ulimit -f 命令来设置单个文件的最大大小(以块为单位)。
ulimit -f 102400 # 设置单个文件最大为100MB
你可以使用 ulimit -u 命令来设置用户可以同时运行的最大进程数。
ulimit -u 512 # 设置用户最多可以运行512个进程
你可以使用 ulimit -m 命令来设置用户进程的最大内存使用量(以KB为单位)。
ulimit -m 536870912 # 设置用户进程最大内存使用为512MB
你可以使用 ulimit -t 命令来设置用户进程的最大CPU时间(以秒为单位)。
ulimit -t 3600 # 设置用户进程最大CPU时间为1小时
你可以使用 ulimit -n 命令来设置用户进程可以同时打开的最大文件描述符数量。
ulimit -n 1024 # 设置用户进程最多可以打开1024个文件描述符
你可以使用 ulimit -s 命令来设置用户进程的最大堆栈大小(以KB为单位)。
ulimit -s 8192 # 设置用户进程最大堆栈大小为8MB
你可以使用 ulimit -c 命令来设置核心转储文件的最大大小(以块为单位)。
ulimit -c unlimited # 设置核心转储文件大小无限制
这些设置通常只对当前shell会话有效。如果你希望永久修改这些设置,可以将它们添加到用户的shell配置文件中(例如 .bashrc 或 .bash_profile)。
echo "ulimit -f 102400" >> ~/.bashrc
source ~/.bashrc
除了用户级的资源限制,系统管理员还可以通过编辑 /etc/security/limits.conf 文件来设置系统级的资源限制。
* soft nofile 1024
* hard nofile 4096
这将为所有用户设置软限制为1024,硬限制为4096。
通过合理使用 ulimit 命令,你可以有效地管理系统资源,确保系统的稳定性和安全性。