ulimit
是一个用于控制 shell 进程及其子进程资源使用的命令行工具,在 Debian 系统中同样适用。它的主要作用是设置和查看用户进程的资源限制,例如文件描述符数量、进程数量、内存使用等。
ulimit
可以设置以下类型的限制:
- 核心转储文件大小:限制核心转储文件(core dump)的大小。
- CPU 时间:限制进程可以使用的最大 CPU 时间。
- 文件大小:限制单个文件的最大大小。
- 内存使用:限制进程可以使用的最大内存量。
- 打开文件描述符的数量:限制进程可以同时打开的文件描述符数量。
- 进程数量:限制用户可以同时运行的最大进程数量。
- 堆栈大小:限制进程的堆栈大小。
- 管道缓冲区大小:限制管道缓冲区的大小。
要查看当前的资源限制,可以在终端中运行 ulimit -a
命令。要设置特定类型的资源限制,可以使用 ulimit -
命令,其中
是要设置的资源类型,
是要设置的限制值。
例如,要将单个文件的最大大小限制为 100MB,可以运行 ulimit -f 104857600
命令。
需要注意的是,ulimit
设置的限制仅对当前 shell 会话及其子进程有效。要永久更改资源限制,需要修改系统配置文件,例如 /etc/security/limits.conf
。