예 : 간단한 프로그램 예 : C++에서* nix에서 공유 라이브러리없이 프로세스 메모리를 계산하는 방법은 무엇입니까?
#include <iostream>
int main()
{
int a = 1000;
std::cout << a << std::endl;
return 0;
}
나는 GNU 시간을 가진 기억 사용법을 산출하는 것을 시도하고있다. 그러나 "time"출력 (내 형식에서는 중요하지 않음)에서 메모리의 최대 프로세스 크기는 printf 함수 (std :: cout 호출)가 있고 3.5Mb와 같은 libc.so로 계산됩니다.
로드 된 공유 라이브러리없이 프로세스 메모리를 계산할 수있는 방법이 있습니까?
UPD 몇 가지 이유로 메모리를 측정하고 싶은 프로세스가 실행되는 동안에는 그 작업을 수행 할 수 없습니다. 외부 래퍼 도구와 함께 할 수있는 방법이 있다면 나는, 자신의 프로세스
나는'pmap'에 대해 알고 있습니다. 이 경우 메모리 크기를 직접 추가하길 원하십니까? 선을 구문 분석하고 필요한 항목 만 추가 하시겠습니까? 아마도 더 나은 방법이있을 것입니다 ('time' util과 같습니다). 프로그램을 실행하는 동안 메모리를 측정 할 수있는 능력이 없을 것입니다. (프로그램을 실행할 시간을 모르기 때문에) – Ribtoks
공유 라이브러리에 필요한 공간을 제거하려는 이유가 무엇입니까? 왜이 공간이 당신에게 특별한가요? –
저는 ACM 솔루션을위한 콘테 스터 시스템을 개발 중입니다. 사용자 솔루션이 메모리 및 시간에 대한 문제 제한에 부합하는지 알아야합니다. 그리고 만약 사용자 솔루션이이 문제와 비슷하다면 실제로는 작은 크기 (11Kb)이지만'printf'가 호출 될 때 최대 크기는 3.5Mb가됩니다 – Ribtoks