-
C++ 프로세스 메모리 측정 방법 (링크)알고리즘과 언어/c++ 2022. 10. 7. 17:31
리눅스에서 1개의 프로세스 메모리를 측정해야하는 일이 있었다.
주로 top 명령어 등을 통해 서버 내 전체 메모리 사용량을 구하는 방법은 많았지만 1개의 프로세스에 해당하는 메모리 사용량을 구하는 방법은 찾기 어려웠다.
스크립트를 만드는 방법도 있었지만, 1초만에 끝나는 프로세스이기에 스크립트로 프로세스를 돌린 후, pid를 찾고, 0.1초씩 기록하는 것이 정확한 방법일지 고민이 있었다.
많은 메모리 프로파일러 툴이 있었지만 GUI 지원가능한 리눅스가 아니면 가장 peak를 치는 지점과 평소 지점을 비교하기 찾기 힘들어보였다.
그러던 중 다음 C++ 내에 소스를 주입해서 하나의 프로세스를 측정하는 방법을 발견했다.
/proc/self/status 는, 어떠한 임의의 pid를 가진 프로세스가 자신의(self pid)의 메모리 정보가 담긴 곳에 접근하는 주소다.
나는 main함수 후반에 링크의 내용을 집어넣어 프로세스 메모리를 측정했다.
[c++] 프로세스 내부에서 CPU 및 메모리 소비를 확인하는 방법은 무엇입니까? - 리뷰나라
한 번 실행중인 응용 프로그램 내부에서 다음과 같은 성능 매개 변수를 결정하는 작업이있었습니다. 사용 가능한 총 가상 메모리 현재 사용되는 가상 메모리 현재 프로세스에서 사용하는 가상
daplus.net
'알고리즘과 언어 > c++' 카테고리의 다른 글
c++ 마이너스 0 ? (2) 2023.01.07 C++ ) 백준 2003 수들의 합 2 (0) 2022.03.09 C++ ) 백준 17090 미로 탈출하기 (0) 2022.02.17 C++ ) 백준 3055 탈출 (0) 2022.02.16 C++) 백준 1780 종이의 개수 (0) 2022.02.08