ulimit参数
打开文件句柄数限制Max open files 最大进程数max user processes CPU占用时间限制Max cpu time 创建文件大小限制Max file size 进程数据块的大小限制Max data size 分配堆栈的最大大小限制Max stack size 内核文件的大小限制Max core file size 常驻内存集的大小限制Max resident set 可加锁内存大小限制Max locked memory 最大虚拟内存限制virtual memory
查看所有进程的资源限制
cat /etc/security/limits.conf
查看用户进程级资源限制(文件句柄最大默认1024)
ulimit -a
查看某个进程的资源限制
/proc/PID/limits
查看系统级文件句柄限制
cat /proc/sys/fs/file-max
查看系统级最大线程数限制(默认65530)
cat /proc/sys/vm/max_map_count
常用设置
用户进程级修改立即生效
ulimit -SHn 2048000
ulimit -SHu unlimited
用户进程级修改重启永久生效
cat > /etc/security/limits.conf << EOF
* soft nofile 2048000
* hard nofile 2048000
* soft noproc unlimited
* hard noproc unlimited
EOF
系统级修改即时生效
sysctl -p /etc/sysctl.conf
sysctl -w fs.file-max=38180200
sysctl -w vm.max_map_count=6553000
系统级修改永久生效
cat >/etc/sysctl.conf<<EOF
fs.file-max=38180200
vm.max_map_count=6553000
EOF
sysctl -p
docker启动时修改
docker run -d --ulimit nofile=204800:409600 --ulimit nproc=10240:20480 --name=test centos /bin/bash -c 'tail -f /var/log/lastlog'
docker exec test /bin/bash -c 'ulimit -a'