Stack Reserve

동적으로 메모리를 할당해 사용하지 않는다면 대부분 스택의 공간을 사용하게 된다.

시간 내에 문제를 해결해야 하는 경우나 대충 한번 답만 나오면 되는 경우일 수록 귀찮아서 스택에 쌓아두려다가 스택 예비 공간을 초과하게 되면, 프로그램이 돌연사 한다. 물론 그 정도로 메모리를 사용한다면 직접 할당해 사용하는 것이 바람직하나 이미 그렇게까지 하고 있다면 메모리 할당에 투자할 시간은 없다.

  • Sun OS/ Solaris
    • limit
      자원 제한 사항을 보여준다 여기서 현재 스택 사이즈를 확인한다.
    • unlimit
      스택 사이즈를 무제한으로 둔다.
    • setenv STACKSIZE 32768
      스택 사이즈를 32메가바이트로 제한한다.
  • Linux
    • ulimit -a
      사용자 제한 사항을 보여준다. 어떤 옵션을 주면 해당 설정을 바꿀 수 있는지도 알려준다. 여기서 스택 사이즈를 확인한다.
    • ulimit -s
      스택 사이즈를 변경한다.
  • Windows
    • 프로젝트- 세팅에서 스택 예약 공간을 수정한다.
    • 비주얼 스튜디오가 있다면 dumpbin으로 스택 에약 공간을 확인하고, editbin으로 /STACK:size를 수정할 수 있다.

우분투와 윈도우에서 확인. 잘 늘어난다. 그러나 자주 이러고 싶지는 않다.

Leave a Reply