【发布时间】:2015-07-05 12:10:06
【问题描述】:
我被限制在 Ejabberd 节点上让超过大约 64000(准确地说是 64,464)用户在线。我正在使用 xml 脚本 (Tsung) 使用户在节点上联机。
我已经提高了描述符的限制:
Eshell V5.10.4 (abort with ^G)
1> os:cmd("ulimit -n").
"1045000\n"
一个奇怪的观察是这样的(在这里将可用端口计数作为整数值):
2> os:getenv("ERL_MAX_PORTS").
false
此外,ejabberdctl.cfg 文件中的“ERL_MAX_PORTS”设置为 704500。
ERL_MAX_PORTS=704500
我猜一个 Ejabberd 节点对最大在线用户有一些限制。这可能是取决于机器或其他东西的内存。
另外,这是 /etc/security/limits.conf 的外观:
#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4
root soft nofile 1045000
root hard nofile 1045000
我可以尝试创建另一个在同一 Linux 机器上运行的虚拟主机:
hosts:
- "devlab"
- "devlab2"
但我不确定这会有什么不同。
指针将不胜感激。
谢谢!
【问题讨论】:
-
检查您的 /var/log/syslog 信息。
-
这就是我系统中的全部内容。 [root@Test ~]# cd /var/log/syslog -bash: cd: /var/log/syslog: 没有这样的文件或目录 [root@Test ~]# find / -name syslog /etc/logrotate.d/系统日志
-
tail -f /var/log/syslog
-
该位置不存在此类文件。我必须提到,我使用的是 RHEL 6。 [root@Test bin]# tail -f /var/log/syslog tail: 无法打开 `/var/log/syslog' 进行阅读:没有这样的文件或目录 好吧,我猜需要在某处查看 /var/log/messages。
-
检查你的操作系统的 /var/log 目录并理解它。检查操作系统的 sysctl.conf 文件并控制操作系统的限制。
标签: linux process erlang ejabberd tsung