ulimit 命令

ulimit 命令

常用选项

  • -a:显示当前所有的 limit 信息
  • -H:设置 hard 资源限制,如 ulimit -Hn 64
  • -S:设置 soft 资源限制,如 ulimit -Sn 32
  • -c:core file size,最大的 core 文件的大小,以 blocks 为单位,一般 1block=512bytes;
  • -d:data seg size,进程最大的数据段的大小,以 kbytes 为单位;
  • -f:file size,进程可以创建文件的最大值,以 blocks 为单位;
  • -l:max locked memory,最大可加锁内存的大小,以 kbytes 为单位;
  • -m:max memory size,最大内存大小,以 kbytes 为单位;
  • -n:open files,可以打开的最大文件描述符的数量;
  • -p:pipe size,管道缓冲区的大小,以 512 bytes 为单位;
  • -s:stack size,线程栈大小,以 kbytes 为单位;
  • -t:cpu time,最大的 CPU 占用时间,以秒为单位;
  • -u:max user processes,用户最大可用的进程数
  • -v:virtual memory,进程最大可用的虚拟内存,以 kbytes 为单位

配置

1. 只对当前会话有效的配置方式:

直接用命令指定,如 ulimit -c unlimited

2. 永久配置:
  1. 改动 /etc/security/limits.conf 文件,例如:
    ulimit 命令
  2. 重新登录
    必须要重新登录,否则无法生效!sudo su admin 之后再 sudo su 自己的用户名 即可。

注:常用 <item> 对应如下:

  • -c:core
  • -d:data
  • -f:fsize
  • -l:memlock
  • -n:nofile
  • -s:stack
  • -t:cpu
  • -u:nproc