文档章节

1个物理机同时搭建2个erlang虚拟节点,不能启用 +A600选项

格通
 格通
发布于 2016/09/02 16:51
字数 428
阅读 17
收藏 0

今天在同一个物理机器上,2个erlang虚拟节点,配置相同,都是使用 +A600 选项,但第二个节点就启动不了。报下面的错误:

Failed to create thread: Resource temporarily unavailable (11)

后来第二个节点删除了这个选项,然后启动成功了。

现在还不确定问题所在。

网上参考有:

Can't start Riak. Erlang crashes immediately. Memory problem?

另外参考一下:Improving Performance

 

具体的原因是linux用户开启的进程数太多了。具体可以看:

su: cannot set user id: 资源暂时不可用

修改linux下的最大进程数可以参考下面:

linux下进程的进程最大数、最大线程数、进程打开的文件数和ulimit命令修改硬件资源限制

Linux 打开文件数1024限制的原理以及解决办法

解除 Linux 系统的最大进程数和最大文件打开数限制

LINUX最大线程数及最大进程数

下面的是一些资料摘录:

1. 所有进程打开的文件描述符数不能超过/proc/sys/fs/file-max

2. 单个进程打开的文件描述符数不能超过user limit中nofile的soft limit

3. nofile的soft limit不能超过其hard limit

4. nofile的hard limit不能超过/proc/sys/fs/nr_open

编辑/etc/security/limits.conf

vi /etc/security/limits.conf,添加如下的行

*   soft noproc   11000
*   hard noproc   11000
*   soft nofile   4100
*   hard nofile   4100
 说明:* 代表针对所有用户

noproc 是代表最大进程数

nofile 是代表最大文件打开数

设置fs-max

临时性
echo 1000000 > /proc/sys/fs/file-max
永久性:在/etc/sysctl.conf中设置
fs.file-max = 1000000

 

© 著作权归作者所有

共有 人打赏支持
格通

格通

粉丝 7
博文 156
码字总数 39155
作品 0
广州
程序员
私信 提问
加载中

评论(1)

648789030
648789030
通过查看erlang的文档发现,+A是设置的异步进程池中的进程数量,有效的值范围是0-1024,如果两个+A600 ,加起来就是1200,就会出现报错。也就是说,这个参数的内部实现,其实就是已经预留了600个进程位,所以就会报错,如果换成+A 500应该就不会问题。并且+P 的取值方位是1024以上,也就是说,这个其实是对互斥的进程设置方法
RabbitMQ系列(五)使用Docker部署RabbitMQ集群

使用Docker部署RabbitMQ集群 RabbitMQ系列文章 RabbitMQ在Ubuntu上的环境搭建 深入了解RabbitMQ工作原理及简单使用 RabbitMQ交换器Exchange介绍与实践 RabbitMQ事务和Confirm发送方消息确认—...

王磊的博客
2018/07/24
0
0
Hyper-V 性能加速之NUMA

SMP和NUMA 根据 CPU 访问内存中地址所需时间和距离我们可以将CPU和内存结构分为SMP(SMP,Symmetric Multi-Processor,也称之为一致内存访问UMA)、NUMA和MPP(Massive Parallel Processing)三...

IT小匠Leo
2018/06/27
0
0
(转载)低成本和高性能MySQL云数据的架构探索

转载自Erlang非业余研究 本文链接地址: 低成本和高性能MySQL云数据的架构探索 原文地址:http://www.alibabatech.org/article/detail/3405/0?ticket=d69f07f8-b60b-43f8-9572-7d795bb8429d ...

景德真人
2012/10/26
819
2
Hyper-V和NUMA架构那点事儿

最近连续做了几个微软虚拟化解决方案的售前演示,其实对于大部分客户来讲不会对一整套“相对完善”的方案在第一时间就看的很深入,反而通常会更在意一些最基础的功能和配置选项,特别是技术岗...

日久不生情
2017/11/13
0
0
VSAN见证虚拟设备

VSAN 6.1发布了也有两三个月了,其中有2个比较显著的新特性,一个就是支持Stretched Cluster, 也就是说你的VSAN集群现在可以不在一个物理位置了,可以跨数据中心部署了;另外一个就是2节点V...

delxu
2015/12/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

商品详情页上拉查看详情

商品详情页上拉查看详情 目录介绍 01.该库介绍 02.效果展示 03.如何使用 04.注意要点 05.优化问题 06.部分代码逻辑 07.参考案例 01.该库介绍 模仿淘宝、京东、考拉等商品详情页分页加载的UI效...

潇湘剑雨
29分钟前
1
0
Netty内存池之PoolArena详解

PoolArena是Netty内存池中的一个核心容器,它的主要作用是对创建的一系列的PoolChunk和PoolSubpage进行管理,根据申请的不同内存大小将最终的申请动作委托给这两个子容器进行管理。整体上,P...

爱宝贝丶
33分钟前
4
0
Django使用Channels实现WebSocket--下篇

希望通过对这两篇文章的学习,能够对Channels有更加深入的了解,使用起来得心应手游刃有余 通过上一篇《Django使用Channels实现WebSocket--上篇》的学习应该对Channels的各种概念有了清晰的认...

运维咖啡吧
41分钟前
3
0
linux下设置定时执行shell脚本的示例

很多时候我们有希望服务器定时去运行一个脚本来触发一个操作,比如说定时去备份服务器数据、数据库数据等 不适合人工经常做的一些操作这里简单说下 shell Shell俗称壳,类似于DOS下的command...

阿锋zxf
44分钟前
3
0
介绍Kubernetes监控Heapster

什么是Heapster? Heapster是容器集群监控和性能分析工具,天然的支持Kubernetes和CoreOS,Kubernetes有个出名的监控agent—cAdvisor。在每个kubernetes Node上都会运行cAdvisor,它会收集本机...

xiangyunyan
45分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部