A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-bash/zsh: ulimit command not found #Debian apt-get install bash #Ubuntu apt-get install bash #Alpine apk add bash #Arch Linux pacman -S bash #Kali Linux apt-get install bash #CentOS yum install bash #Fedora dnf install bash #OS X brew install bash #Raspbian apt-get install bash #Docker docker run cmd.cat/ulimit ulimit
ulimit 为 Shell 内建指令,可用来控制 Shell 执行程序的资源。
ulimit [-SHabcdefiklmnpqrstuvxPT] [limit] ulimit [-aHS][-c <core文件上限>][-d <数据节区大小>][-f <文件大小>][-m <内存大小>][-n <文件数目>][-p <缓冲区大小>][-s <堆叠大小>][-t <CPU时间>][-u <程序数目>][-v <虚拟内存大小>]
-a 显示目前资源限制的设定。 -c 设定core文件的最大值,单位为区块。 -d <数据节区大小> 程序数据节区的最大值,单位为KB。 -f <文件大小> shell所能建立的最大文件,单位为区块。 -H 设定资源的硬性限制,也就是管理员所设下的限制。 -m <内存大小> 指定可使用内存的上限,单位为KB。 -n <文件数目> 指定同一时间最多可开启的文件数。 -p <缓冲区大小> 指定管道缓冲区的大小,单位512字节。 -s <堆叠大小> 指定堆叠的上限,单位为KB。 -S 设定资源的弹性限制。 -t 指定CPU使用时间的上限,单位为秒。 -u <程序数目> 用户最多可开启的程序数目。 -v <虚拟内存大小> 指定可使用的虚拟内存上限,单位为KB。
ulimit 获取所有用户限制的属性:
ulimit -a
ulimit 获取同时打开的文件数的硬限制:
ulimit -H -n
ulimit 获取同时打开的文件数的软限制:
ulimit -S -n
ulimit 设置每个用户的最大进程限制:
ulimit -u 30
修改 /etc/sysctl.conf
:
vi /etc/sysctl.conf -------------------------- fs.file-max = 32768 kernel.msgmni = 1024 kernel.sem = 1000 32000 32 512 kernel.shmmax = 2147483648 net.ipv4.tcp_fin_timeout = 10 net.ipv4.tcp_max_syn_backlog = 4096 -------------------------- 让配置立即生效 sysctl -p
修改 /etc/security/limits.conf
:
vi /etc/security/limits.conf # 确认包含下面的内容: * soft nofile 8192 * hard nofile 8192 修改后,用 ulimit -Hn 和 ulimit -Sn 确认修改已生效
使用命令 ulimit -HSn 65536
可以立即生效。