2011-09-24 4 views

답변

19

getrlimit을 사용하여 최대 프로세스 및 스택 크기를 쿼리 할 수 ​​있습니다. 스택 프레임의 크기는 고정되어 있지 않습니다. 각 프레임에 필요한 로컬 데이터 (즉, 로컬 변수)의 양에 따라 다릅니다.

이렇게하려면 명령 줄에서 ulimit을 사용할 수 있습니다.

당신이 실행중인 프로세스에 대한 이러한 값을 읽고 싶다면, 나는이 작업을 수행 어떤 도구의 모르겠지만, 그것은/proc 파일 시스템을 조회하는만큼 쉽게 :

cat /proc/<pid>/limits 
+0

나는 오류를 발견하지 명령을 얻는다. 이 명령에 어떤 패키지를 설치해야합니까? – Bruce

+0

이것은 명령 줄 도구가 아니라 C API 호출입니다. –

+0

그들은 시작 크기가 맞아야합니까? 컴파일러는 스택 프레임의 크기를 미리 계산하고 (모든 로컬 변수를 고려하여) 프레임을 할당합니까? – Bruce

3

당신은 getrlimit을 사용할 수 있습니다 스택 크기를 보려면 setrlimit을 변경하십시오.

게시물은 Increase stack size in Linux with setrlimit 게시물에 있습니다.

+2

우분투에서 getrlimit과 같은 명령이 없습니다. – HMS

23

빠른 Google 검색을 사용하면 some information on this subject이 표시됩니다. 킬로바이트에서

> ulimit -a   # shows the current stack size 
+1

물론 빠른 Google 검색이이 페이지를 제공합니다. – gerardw

13

최대 스택 크기 :

ulimit -s 
관련 문제