linux 32bit 에서 stack pointer 가 heap 메모리와 충돌났는지 확인하는 방법은?

trymp의 이미지

리눅스 32bit 에서 한 프로세스의 가상메모리상에서

stack 메모리와 heap 이 서로를 향해 증가하는 걸로 알고 있습니다

그래서 계속 스택과 힙을 늘려가면 나중에는 만날것 같기도 한데요.

프로세스상에서 스택과 힙이 서로 만났는지 여부를 확인할수 있는 방법이 있나요?

/proc/pid/maps 을 봐도 내용 자체를 이해하기 힘드네요.

이와 같은 상황을 확인하는 방법 좀 알려주시면 감사하겠습니다.

kukyakya의 이미지

프로세스마다 스택영역의 크기가 한정되어있고 이를 넘어서면 segfault로 종료됩니다.

ulimit으로 프로세스의 기본 스택 영역을 확인하실 수 있습니다.

익명 사용자의 이미지

그럴때는 ulimit -s unlimited 로 설정했을땐 어떻게 되는지를 얘기해주면 됩니다.