ulimit 用于设置用户被限制使用的资源

  • ulimit -a 查看所有限制
  • ulimit -c 程序发生错误生成 core 文件的大小
  • ulimit -d 每个进程数据段的最大值
  • ulimit -e 默认进程调度优先级
  • ulimit -f 当前 shell 可创建文件最大容量
  • ulimit -i 可被阻塞的信号的最大数量
  • ulimit -l 可加锁的最大内存
  • ulimit -m 可使用的最大内存
  • ulimit -n 可打开文件描述符数量
  • ulimit -p 管道最大值
  • ulimit -r 进程实时优先级默认值
  • ulimit -s 进程栈最大值
  • ulimit -t 进程占用 cpu 最大时间
  • ulimit -u 用户可用最大进程数
  • ulimit -v 进程可用最大虚拟内存

这些命令都是即时生效的,但是重启系统后会重置,如果你想永久生效,需要修改配置文件

写入 bashrc

将 ulimit 命令写入用户目录的 bashrc 文件,这样可以做到不同的用户不同的配置

修改 /etc/security/limits.conf

该文件是全局配置,格式如下

root   soft    nofile  1000000  
root   hard    nofile  1000000  

root 是指定用户,soft 表示软限制,hard 表示硬限制,nofile 表示用户可以打开的最大文件描述符数量
和 ulimit -n 对应
其它的限制在 limits.conf 文件中都有详细的描述