ulimit 设置

最近[b]NodeJs[/b]项目经常挂起,后台在日志发现,有一个Error存在:

console - Caught exception: Error: accept EMFILE
at errnoException (net.js:770:11)
at TCP.onconnection (net.js:1030:24)


[b]Caught exception: Error: accept EMFILE[/b]

翻阅了不少的论坛跟Google,原来是ulimit限制了。在ubuntu里面open file 设置默认最大值为1024,于是需要将其修改。

xusongqin@ubuntu:/data/projects/mahjong-websocket/game-server/logs/self$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 128029
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) [b][color=red]1024[/color][/b]
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 128029
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

如果是root用户的话,直接 ulimit -n 65535即可,

而non-root的用户的话,则需要修改/etc/security/limits.conf的配置内容:
只需要在里面加入(下面4行配置即可):

* soft nofile 65535
* hard nofile 65535
root soft nofile 65535
root hard nofile 65535


最终为:

#<domain> <type> <item> <value>
#

#* soft core 0
#root hard core 100000
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#ftp - chroot /ftp
#@student - maxlogins 4

[b]* soft nofile 65535
* hard nofile 65535
root soft nofile 65535
root hard nofile 65535[/b]

# End of file

退出当前终端,重新登录终端查看。

xusongqin@ubuntu:/data/projects/mahjong-websocket/game-server/logs/self$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 128029
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) [b]65535[/b]
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 128029
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值