Linux修改栈空间的大小

lichongyang
lichongyang
lichongyang
110
文章
0
评论
2020年4月16日10:54:36 评论 230 次浏览

        有时候写程序处理大量的数据,需要分配很大的数组来存放一些数据,但有时候分配的数组太大的话运行时会出现断错误。这种情况可能是分配的数组大小超过了linux系统的默认栈空间的大小了,导致栈空间不够分配,出现错误。

(1)查看linux默认栈空间的大小

        通过命令 ulimit -s 查看linux的默认栈空间大小,默认情况下为8192 KB 即8M。

(2)临时改变栈空间的大小

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

(3)永久修改栈空间大大小。有两种方法:

        方法一:可以在/etc/rc.local 内加入 ulimit -s 102400 则可以开机就设置栈空间大小,任何用户启动的时候都会调用。

        方法二:修改配置文件/etc/security/limits.conf

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信小程序
  • 我的微信小程序扫一扫
  • weinxin
lichongyang
  • 本文由 发表于 2020年4月16日10:54:36
  • 转载请务必保留本文链接:https://www.chongyangli.com/archives/linux%e4%bf%ae%e6%94%b9%e6%a0%88%e7%a9%ba%e9%97%b4%e7%9a%84%e5%a4%a7%e5%b0%8f/
BCD和HEX转换程序 C语言

BCD和HEX转换程序

在写程序时,经常需要进行BCD码和ASCII码的转换,下面是我常用的转换程序,如果大家有需要,直接调用就行了,呵呵! unsigned char BCD2HEX(unsigned char bcd_d...
Python 资源大全中文版 Python

Python 资源大全中文版

Python 资源大全中文版 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具。官网pyenv:简单的 Python 版本管理工具。官网Vex:可以在虚...
嵌入式技术面试 C语言

嵌入式技术面试

1 C/C++ 1.1 结构体struct与union区别?struct与class区别? struct与union:   最大的区别在于内存利用。 struct各成员各自拥有自己的内存,各自使用互不...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: