免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3906 | 回复: 5
打印 上一主题 下一主题

如何修改线程最大占用内存大小 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-18 14:20 |只看该作者 |倒序浏览
alpha程序移植到安腾环境,以前程序线程静态内存开太多,程序在安腾机器上coredump。

论坛徽章:
0
2 [报告]
发表于 2007-04-18 14:23 |只看该作者
建议:如果没有实在不能否决的条件,应该改进程序,比如适当地将栈上内存分配转移到堆中,或者使用真正的 “静态分配”。注意,栈上分配的空间属于 “自动”, 即 automatic 内存,不是真正的 “静态内存”,敬请再次确认。

论坛徽章:
0
3 [报告]
发表于 2007-04-18 14:26 |只看该作者
原帖由 zergzb 于 2007-4-18 14:20 发表
alpha程序移植到安腾环境,以前程序线程静态内存开太多,程序在安腾机器上coredump。


我是用IA64平台的。
linux中的用户栈大小是8M

论坛徽章:
0
4 [报告]
发表于 2007-04-18 14:34 |只看该作者
原帖由 langue 于 2007-4-18 14:23 发表
建议:如果没有实在不能否决的条件,应该改进程序,比如适当地将栈上内存分配转移到堆中,或者使用真正的 “静态分配”。注意,栈上分配的空间属于 “自动”, 即 automatic 内存,不是真正的 “静态内存”,敬请 ...


是的,请确认你是在栈上分配了过大的数据。全局区没有这个限制。

论坛徽章:
0
5 [报告]
发表于 2007-04-18 14:45 |只看该作者
是栈上,不是静态,我说错了。我听说环境变量里面有可以修改的地方,不知道有人改过么?

论坛徽章:
0
6 [报告]
发表于 2007-04-18 14:56 |只看该作者
可以用 ulimit 命令试一下(不属于环境变量设置)
在我这里得到这样的结果:

$ ulimit -a
time(cpu-seconds)    unlimited
file(blocks)         unlimited
coredump(blocks)     unlimited
data(kbytes)         262144
stack(kbytes)        4096
lockedmem(kbytes)    77033
memory(kbytes)       229308
nofiles(descriptors) 1024
processes            4096
$

具体如何使用 ulimit,请参考 man 手册页(各平台情况不尽相同,无法囊括)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP