大家都知道可以使用ulimit来查看当前的系统资源限制,比如
[babel@localhost ~]$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 4096
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 10240
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 4096
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
但是如何修改这些值呢?如果你知道ulimit命令的话会说,ulimit -x value。是的,没错,这样可以进行修改,但是限制是必须是root用户,并且只在当前会话有效。
那么如果你需要修改对某个用户的限制应当如何做呢?修改/etc/security/limits.conf
打开这个文件,开头有配置说明,格式如下
<domain> <type> <item> <value>
关于其他项的说明都很明确,但是关于type的说明却不是很清楚,网上的资料也大都只说了
修改这个文件,而并没有说如何修改。
其实type有两种soft和hard, hard是内核限制,soft是软件限制,你修改这两个参数时必须同时修改,并且hard是上限,soft必须小于hard,否则以hard为准。
我当时修改了nofile和soft参数,但是没有修改hard参数,结果重启电脑之后发现一点作用都没有