erlang在smp模式下 默认开启的线程数目是 4 + 调度器数量 + 异步线程的数量。 其中调度器默认=cpu的数目 异步线程的数量默认是0, 可以通过 +A来设置,主要用于文件异步IO操作。 对于现在的机器 可能有大量的cpu 那么默认开启的线程可能多达几十个。 众所周知,32位系统下用户空间的线性地址是3G. 每个线程都有自己的堆栈,虽然实际使用的空间不大, 但是为了预防大量的递归调用什么的,这个堆栈的空间会开的比较大。默认是每个线程
[root@localhost ~]#
ulimit -s
10240 有10M这么大。 几十个线程就占用了大几百M的线性空间。对于3G地址,使用率非常低。
在最新发布的R13B02就专门解决这个问题:
erl +A N
+a StackSize 异步线程
默认是 ERTS_ASYNC_THREAD_MIN_STACK_SIZE
#define ERTS_ASYNC_THREAD_MIN_STACK_SIZE 16 /* Kilo words */
#define ERTS_ASYNC_THREAD_MAX_STACK_SIZE 8192 /* Kilo words */
erl +S N:N
+sss StackSize 调度器线程
默认是 -1, 由系统决定。
#define ERTS_SCHED_THREAD_MIN_STACK_SIZE 4 /* Kilo words */
#define ERTS_SCHED_THREAD_MAX_STACK_SIZE 8192 /* Kilo words */
注意上面的单位是 WORD, 而不是BYTE.
通过微调pthread的stacksize,而不是使用系统默认的。
stack size (kbytes, -s) 8192
还有的4个辅助线程,erts已经把stack_size修改成最小了,各位无需担心。
R13B02为了支持最小的调度器线程堆栈,特地修改了部分BIF, 尽量不采用递归的方式, 减少了堆栈的使用。
当然最好的方法是使用64位操作系统,彻底回避这个问题。
结论:32位系统会比较快,但是有线性地址的限制,节约点是好事。
分享到:
- 2009-09-24 19:48
- 浏览 1936
- 评论(0)
- 论坛回复 / 浏览 (0 / 1339)
- 查看更多
相关推荐
R13版本代表了该协议的一个特定修订版,通常包含了对原有功能的增强或新特性的引入。在本文中,我们将深入探讨LTE物理层协议R13中的重要知识点,包括信道编码、调制、多址接入、资源分配以及物理层过程。 1. **信道...
ECE R13H-乘用车制动系统型式认证的统一规定 知识点详细解析: 1. ECE R13H定义及背景 ECE R13H是一套针对乘用车制动系统的型式认证统一规定。这份规定属于联合国欧洲经济委员会(ECE)制定的技术条例之一,旨在通过...
### 乘用车制动性能法规 ECE R13 中文解析 #### 一、法规概述 **ECE R13**(Economic Commission for Europe Regulation No. 13)是一项由联合国欧洲经济委员会制定的法规,旨在统一各国对于乘用车制动系统的认证...
1. **安装配置**:下载并解压`android-ndk-r13b-windows-x86_64.zip`,设置环境变量,确保系统能够找到NDK的路径。 2. **创建项目**:在Android Studio中创建一个新的Android项目,并启用“Native C++ support”。 ...
6. **配置编译选项**:根据需要配置不同的编译选项,如选择不同的编译器、设置ABI等。 7. **构建和调试**:使用NDK工具链构建项目,并使用LLDB等工具进行调试。 #### 五、总结 Android NDK R13b是一个功能强大的...
这个压缩包包含了R8、R11和R13三个不同版本的关键字手册,是理解并有效使用LS-DYNA进行计算模拟的重要参考资料。 《LS-DYNA关键字手册》是用户理解和使用该软件的核心文档,它详细介绍了如何通过一系列关键字来定义...
《LTE R13测试规范》是3GPP组织制定的一份重要的无线通信标准文档,主要关注的是用户设备(UE)的射频测试规范,特别是针对R13版本的测试限制。R13作为LTE的一个重要演进阶段,引入了诸多新技术和功能,以提升网络...
这包括选择需要的Android平台版本、额外的工具和库,以及设置环境变量,确保命令行工具可以被系统识别。 四、使用技巧 1. **利用AVD(Android Virtual Device)管理器**:创建并管理虚拟设备,可以模拟不同硬件...
3. **打开设备管理器**:在Windows设置中找到并打开设备管理器,找到未识别的设备,通常会显示为“Android设备”或者带有黄色感叹号的设备。 4. **更新驱动**:右键点击该设备,选择“更新驱动软件”,然后选择...
《Android NDK R13B for Windows:深入解析与应用》 Android NDK(Native Development Kit)是Android开发中的一个重要工具集,它允许开发者使用C和C++编写原生代码,以实现高性能、低级别的系统操作。在Android...
本手册"CAE仿真求解-LS-DYNA-使用手册-manual-V2-R13版本"是针对LS-DYNA R13版本的详细指导,它涵盖了设置控制卡片和关键词等关键操作,帮助用户理解和应用该软件进行仿真计算。 在材料模型方面,LS-DYNA提供了多种...
usb_driver_r13-windows You can use the ADB Driver to connect the mobile (powered by android) to the computer and transfer data between the mobile and the computer. 您可以使用 ADB Driver 将手机(由 ...
ECE R13法规是欧洲经济委员会制定的一套关于M、N和O类车辆制动系统认证的统一规定,旨在确保道路交通安全,规范汽车制动性能的标准。M类车辆指的是乘用车,N类车辆指的是货运车辆,而O类车辆则指的是挂车。这份中文...
手册通常包含对软件设置、控制卡片、关键词(keywords)的详细说明,为用户在使用LS-DYNA软件时提供参考和指导。手册会详细解释如何设置模型、定义材料属性、应用载荷和边界条件、以及如何进行结果的后处理。 3. ...
Android NDK R13 所有平台(Win 64/32, Linux, Mac) 给各位不方便科学上网的鞋童一个方便~
在Android Studio 2.2.2中集成NDK R13,开发者可以通过设置项目级build.gradle文件中的ndkVersion属性来指定NDK版本。例如: ```groovy android { defaultConfig { externalNativeBuild { ndk { abiFilters '...
利用这个软件可以在AutoCAD R14\2000\2004之间转换。 我需要积分,但不情愿提高分值,因为资源本该共享,是不该设置障碍的
标题 "apple mac 开发android-sdk_r13-mac_x86" 指的是在苹果Mac操作系统上进行Android应用开发所需的软件开发工具包(Software Development Kit,简称SDK)。这个特定的版本是为Mac的x86架构设计的,即适用于Intel...
android-ndk-r13-darwin-x86_64.zip android ndk r13 for mac 最新的mac版本NDK