ulimit
是一个用于控制 shell 进程资源限制的命令行工具。它可以用来查看和设置用户进程的资源限制,例如文件描述符数量、进程数等。以下是一些常用的 ulimit
命令行参数及其解析:
-a
:显示所有当前资源限制。
-c <core 文件大小>
:设置核心转储文件(core dump)的最大大小。如果设置为 0,则禁止生成核心转储文件。
-d <数据段大小>
:设置数据段的最大大小(以 KB 为单位)。
-f <文件大小>
:设置单个文件的最大大小(以 blocks 为单位)。
-l <内存锁定大小>
:设置可以锁定的最大内存大小(以 KB 为单位)。
-m <内存使用量>
:设置进程可以使用的最大内存量(以 KB 为单位)。
-n <文件描述符数量>
:设置可以打开的文件描述符数量。
-p <管道缓冲区大小>
:设置管道缓冲区的最大大小(以 512 字节为单位)。
-s <栈大小>
:设置栈的最大大小(以 KB 为单位)。
-t <CPU 时间>
:设置进程可以使用的最大 CPU 时间(以秒为单位)。
-u <进程数量>
:设置用户可以运行的最大进程数量。
-v <虚拟内存大小>
:设置进程可以使用的最大虚拟内存大小(以 KB 为单位)。
-x <信号处理限制>
:设置信号处理程序的数量。
要使用这些参数,只需在 ulimit
命令后添加相应的选项和值。例如,要将单个文件的最大大小设置为 100 MB,可以使用以下命令:
ulimit -f 104857600
请注意,某些资源限制可能需要管理员权限才能更改。此外,这些设置仅适用于当前 shell 会话。要永久更改资源限制,请将相应的 ulimit
命令添加到用户的 shell 配置文件(如 ~/.bashrc
或 ~/.bash_profile
)中。