ulimit
是一个用于控制 shell 进程资源使用的命令行工具。它可以限制用户可以创建的文件数量、进程数量等。以下是 ulimit
命令的一些常见用法和选项:
ulimit [选项]
-a
:显示当前所有资源限制。-c
:设置或查看核心文件的最大大小(以块为单位)。-d
:设置或查看单个进程允许的最大内存大小(以 KB 为单位)。-f
:设置或查看单个用户可以创建的最大文件大小(以块为单位)。-H
:设置硬限制(hard limit),即不可更改的限制。-m
:设置或查看进程可以使用的最大内存量(以 KB 为单位)。-n
:设置或查看单个用户可以打开的最大文件描述符数量。-p
:设置或查看管道缓冲区的大小(以 512 字节块为单位)。-s
:设置或查看信号栈的大小(以 KB 为单位)。-t
:设置或查看进程可以使用的最大 CPU 时间(以秒为单位)。-u
:设置或查看用户可以创建的最大进程数量。-v
:设置或查看进程可以使用的最大虚拟内存量(以 KB 为单位)。-x
:设置或查看单个进程可以使用的最大锁数量。查看当前资源限制
ulimit -a
设置单个用户可以打开的最大文件描述符数量为 2048
ulimit -n 2048
设置单个进程允许的最大内存大小为 512 MB
ulimit -v 524288
设置单个用户可以创建的最大文件大小为 1 GB
ulimit -f 1073741824
设置进程可以使用的最大 CPU 时间为 3600 秒(1 小时)
ulimit -t 3600
设置用户可以创建的最大进程数量为 1024
ulimit -u 1024
ulimit
命令设置的限制仅对当前 shell 会话有效。如果需要在系统启动时永久生效,可以将这些设置添加到用户的 shell 配置文件中(如 .bashrc
或 .bash_profile
)。通过合理使用 ulimit
命令,可以有效地管理系统资源,防止某个进程或用户过度消耗系统资源。