2013-03-15 7 views
1

사실 내 코드에는 malloc이 있습니다. 우분투 OS를 사용하고 있으며 힙 메모리가 얼마나 사용되고 있는지 알고 싶습니다.프로세스를 실행하기위한 힙 메모리

실행중인 프로세스가 우분투 OS에서 얼마나 많은 힙을 사용했는지 알 수있는 명령이 있습니까?

말은 지금의 malloc은 무한 루프이며 하나 개의 단말기에서 실행하고 다른 터미널을 사용하여 내가 그 실행중인 프로세스에 의해 점유 얼마나 많은 힙 메모리를 알고 싶습니다되어

답변

0

당신은/proc 파일 시스템

을 사용할 수 있습니다

은/proc/PID/shmam

그것은 해당 시간 사용하여 정확히 얼마나 많은 메모리가 당신을 말할 것이다

. 당신이 정말로 당신이 프로파일 내에서 실행하는 데 필요한 응용 프로그램이 실제로 사용하는 메모리의 양을 알고 싶다면 자세한 입력에 대한

https://serverfault.com/questions/48582/how-is-memory-usage-reported-in-linux
How to measure actual memory usage of an application or process?

+0

에 주소를 지정할 수 바이트를 전달

9)하지만 이중 해제 된 메모리 – Mohammed

0

를 참조하십시오. 예를 들어, valgrind을 사용하면 사용되는 메모리 양, 더 중요한 것은 프로그램의 메모리 누수 가능성에 대한 정보를 얻을 수 있습니다.

는 차단 모두 할당하고 할당 해제 메모리 호출, http://valgrind.org/docs/manual/mc-manual.html

Valgrind의는 기본적으로 모든 읽기 및 메모리 쓰기 확인하는 86 에뮬레이터로 본다. Valgrind의의 memcheck 도구를 검색 할 수 있습니다 다음 초기화되지 않은 메모리의

1) 사용,

2) 읽기 /가 끝을 작성/

3) 읽기 free되기를 된 후 메모리를 작성 malloc'd 블록

4) 스택 아래의 부적절한 영역 읽기/쓰기.

5) 메모리의 malloc

6) 불일치 사용 누수/새/새 [] 무료/삭제/삭제 []를 memcpy에서 SRC 및 DST 포인터 겹치는

7)() 및 관련 함수 VS

8) 내가 힙 메모리 싶었다 시스템 호출