📄 00000009.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: <A HREF="mailto:r2506070@csie.ntu.edu.tw">r2506070@csie.ntu.edu.tw</A> (Anmin Deng), 看板: linux <BR>标 题: STACK SIZE in Linux <BR>发信站: Nat'l Taiwan Univ..CSIE (Sun Jun 16 02:07:01 1996) <BR>转信站: maple!news.ee.nthu!news.csie.nctu!netnews.ntu!r2506070 <BR> <BR> <BR>请看下列程式.. <BR> <BR>main() <BR>{ <BR> char c[10000000]; <BR> c[0]=0; <BR>} <BR> <BR>执行结果.. Segmentation Fault! <BR> <BR>经过一番明查暗访, 得知 linux 在 1.3.xx 版後, 将内定的 <BR>stack size 改成有 8M 的限制, 所以 local variable 一大, <BR>或 call stack 太深时, stack 即 sigsegv. 我们可以在 <BR>tcsh 下用 "limit", bash 下用 "ulimit -a" 指令来查看. <BR> <BR>身为 user, 我们无能去加大 stack size 的限制, 但身为 root, <BR>可以在 tcsh 下用指令 "unlimit stacksize" 或 "limit stacksize xxxx", <BR>在 bash 用指令 "ulimit -s xxxx" 或 "ulimit -s unlimited" <BR>来加大stack. 如果 root 认为 stack 太大不会对系统造成伤害, <BR>那麽可以在 /etc/initscript 档加上一排 bash 的指令来加大 stack.. <BR> <BR>ulimit -s xxxx 或 ulimit -s unlimited <BR> <BR>如此每个 user 都可以执行上面那个程式了. <BR> <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -