设置最大文件数

时间:2014-04-09 11:29:04

标签: tomcat ubuntu ulimit

我试图在etc/security/limits.conf中设置Ubuntu中最大打开文件数的值,但是当我触发命令ulimit -a时,我没有得到相同的值。 我在limits.conf中添加了以下值:

*          soft     nproc          65535
*          hard     nproc          65535
*          soft     nofile         65535
*          hard     nofile         65535

但在解雇ulimit -a时,我得到了:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
max nice                        (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 139264
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 30048
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
max rt priority                 (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 139264
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

2 个答案:

答案 0 :(得分:0)

您需要将*更改为用户名。这是参考。


where are the default ulimit values set? (linux, centos)

好的,我想出来了。这似乎是CentOS 6或我的机器配置的问题。在CentOS 5配置中,我可以在/etc/security/limits.conf中设置:

* - nproc unlimited

这将有效地更新帐户和cron限制。但是,这在我的CentOS 6盒子中不起作用。相反,我必须这样做:

myname1 - nproc unlimited  
myname2 - nproc unlimited
...

事情按预期工作。也许UID规范适用,但通配符(*)肯定不在这里。奇怪的是,通配符适用于“nofile'限制。

我仍然想知道默认值的实际来源,因为默认情况下,这个文件是空的,我不知道为什么我有两个CentOS盒的默认值不同,它们具有相同的硬件和来自同一家提供商。


答案 1 :(得分:0)

如果您的服务是由systemd管理的,则需要使用以下命令更新服务文件

  

LimitNOFILE = 32768

例如tomcat.service