linux 中 ulimit 命令 用来限制每个用户可使用的资源,如CPU、内存、句柄等
比如我们在启动某个服务的时候,经常会设置 文件的最大打开数量, 堆栈等等。
尤其是涉及到java 相关的程序的时候
参数详解:
S:表示软限制,超出设定的值会告警。
H :表示硬限制,超出设定的值会报错。
a :列出系统所有资源限制的值
c:当某些程序发生错误时,系统可能会将该程序在内存中的信息写成文件(除错用),这种文 件就被称为核心文件(core file)。此为限制每个核心文件的最大容量
d:每个进程数据段的最大值
f:当前shell可创建的最大文件容量
l:可以锁定的物理内存的最大值
m:可以使用的常驻内存的最大值
n:每个进程可以同时打开的最大文件句柄数
p:管道的最大值
s:堆栈的最大值
t:每个进程可以使用CPU的最大时间
u:每个用户运行的最大进程并发数
v:当前shell可使用的最大虚拟内存
如何修改 默认的参数呢?或者是如何 对某个用户,给限制这些资源呢?
有2中方法,一种是 永久生效,一种是临时生效
(1)永久生效
cat /etc/security/limits.conf
cat > /etc/security/limits.d/es.conf <<EOF
* soft nofile 65535
* hard nofile 131070
EOF
(2)临时修改
在命令[限制]处,设置值,即可调整限制值,只对当前shell有效
S表示软限制;H表示硬限制;如果不指明,则表示软硬皆设置;
[root@localhost solr-7.7.3]# ulimit -u
4096
[root@localhost solr-7.7.3]# ulimit -u 65535
[root@localhost solr-7.7.3]# ulimit -u
65535
ulimit -n
unlimit
ulimit -s
unlimited
U-limit
欢迎来撩 : 汇总all