博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux查看修改线程默认栈空间大小(ulimit -s)
阅读量:4507 次
发布时间:2019-06-08

本文共 1546 字,大约阅读时间需要 5 分钟。

1.linux查看修改线程默认栈空间大小 ulimit -s

a、通过命令 ulimit -s 查看linux的默认栈空间大小,默认情况下 为10240 即10M

b、通过命令 ulimit -s 设置大小值 临时改变栈空间大小:ulimit -s 102400, 即修改为100M

c、可以在/etc/rc.local 内 加入 ulimit -s 102400 则可以开机就设置栈空间大小

d、在/etc/security/limits.conf 中也可以改变栈空间大小:

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

* soft stack 102400

重新登录,执行ulimit -s 即可看到改为102400 即100M

 

2.为啥csh没有命令ulimit。

freebsd的默认shell csh的对应内部命令是limit不是ulimit,freebsd还有一个外部命令limits,freebsd中需要改变这些资源使用限制只能用外部命令,内部命令改不了,如果你一定要用ulimit的话,就只能安装有ulimit内部命令的shell,比如bash,sh

3.ulimit -s限定了用户应用启动默认的栈控制大小(仅针对应用主线程;子线程创建时不会像主线程一样从一个相对固定地址(0X7fffff...)开始,而是需要从堆中切割一块内存,所以必须指定大小,否则无法获知要给他分配多大的内存,它的栈内存有主线程创建时可以指定)。

4.为啥linux要限制用户进程的栈内存大小。

Why does Linux have a default stack size soft limit of 8 MB?

The point is to protect the OS.

Programs that have a legitimate reason to need more stack are rare. On the other hand, programmer mistakes are common, and sometimes said mistakes lead to code that gets stuck in an infinite loop. And if that infinite loop happens to contain a recursive function call, the stack would quickly eat all the available memory. The soft limit on the stack size prevents this: the program will crash but the rest of the OS will be unaffected.

Note that as this is only a soft limit, you can actually modify it from within your program (see setrlimit(2): get/set resource limits) if you really need to.

5.ulimit -s ulimited是啥意思.

ulimited就是不限制
因为主线程内存其实地址固定(0X7fffff...),实际上也就可以看到,主线程地址根本无需限定栈空间大小,它甚至可以将整块的虚拟内存作为它的栈。
6.cshell中通过unlimit可以将ulimit一些限制取消。

 

转载于:https://www.cnblogs.com/dongzhiquan/p/4141598.html

你可能感兴趣的文章
JS基础二
查看>>
实例管理
查看>>
《那些年啊,那些事——一个程序员的奋斗史》——34
查看>>
SQL Server如何清除连接过的服务器名称历史?
查看>>
怎么才能成为优秀的前端开发工程师?
查看>>
go语言基础之冒泡排序原理
查看>>
随笔分类 - C++托管(clr)(转)
查看>>
python2.7入门--- 日期和时间
查看>>
虚拟IP技术
查看>>
MFC用CWindowDC dc(GetParent())不能在标题栏画线的问题
查看>>
Django:环境搭建
查看>>
ACM山东工商 Contest - 软件171-2 第1次测验
查看>>
centos7.5yum安装mysql(官方yum源比较慢)
查看>>
华为往年笔试题【去重和排序】【vertor二维数组,迭代器】
查看>>
【转】EXCEL不显示科学计数法
查看>>
系统安装 - 我们找不到任何驱动器
查看>>
MySQL截取字符串的函数
查看>>
好久不来.
查看>>
deepin系统下安装git
查看>>
[转载]搜索引擎技术介绍
查看>>