ulimit
是一个用于控制 shell 进程资源限制的命令。在 CentOS 系统中,它可以用来限制用户进程的资源使用,例如文件描述符、进程数等。以下是一些常用的 ulimit
命令选项和用法:
查看当前资源限制:
ulimit -a
这将显示当前 shell 会话的所有资源限制。
限制文件描述符数量:
ulimit -n <number>
这将设置当前 shell 会话允许打开的最大文件描述符数量。例如,要将最大文件描述符数量设置为 4096,可以执行 ulimit -n 4096
。
限制进程数:
ulimit -u <number>
这将设置当前 shell 会话允许的最大进程数。例如,要将最大进程数设置为 1024,可以执行 ulimit -u 1024
。
限制CPU时间:
ulimit -t <seconds>
这将设置当前 shell 会话允许的最大CPU时间(单位:秒)。例如,要将最大CPU时间设置为 3600 秒(1小时),可以执行 ulimit -t 3600
。
限制内存使用:
ulimit -v <kilobytes>
这将设置当前 shell 会话允许的最大内存使用量(单位:KB)。例如,要将最大内存使用量设置为 512000 KB(500 MB),可以执行 ulimit -v 512000
。
限制虚拟内存大小:
ulimit -m <kilobytes>
这将设置当前 shell 会话允许的最大虚拟内存大小(单位:KB)。例如,要将最大虚拟内存大小设置为 1048576 KB(1 GB),可以执行 ulimit -m 1048576
。
限制核心文件大小:
ulimit -c <size>
这将设置当前 shell 会话允许生成的最大核心文件大小。例如,要将最大核心文件大小设置为无限制,可以执行 ulimit -c unlimited
。
限制堆栈大小:
ulimit -s <kilobytes>
这将设置当前 shell 会话允许的最大堆栈大小(单位:KB)。例如,要将最大堆栈大小设置为 8192 KB,可以执行 ulimit -s 8192
。
请注意,这些设置仅对当前 shell 会话有效。要永久更改资源限制,需要修改 /etc/security/limits.conf
文件。