有时候写程序处理大量的数据,须要分配很大的数组来存放一些数据,但有时候分配的数组太大的话运行时会出现断错误。这种状况多是分配的数组大小超过了linux系统的默认栈空间的大小了,致使栈空间不够分配,出现错误。linux
(1)查看linux默认栈空间的大小数组
经过命令 ulimit -s 查看linux的默认栈空间大小,默认状况下为8192 KB 即8M。it
(2)临时改变栈空间的大小配置
经过命令 ulimit -s 设置大小值临时改变栈空间大小。例如:ulimit -s 102400,即修改成100M。程序
(3)永久修改栈空间大大小。有两种方法:方法
方法一:能够在/etc/rc.local 内加入 ulimit -s 102400 则能够开机就设置栈空间大小,任何用户启动的时候都会调用。im
方法二:修改配置文件/etc/security/limits.conf,添加 * soft stack 102400配置文件