시작 시 손실되는 메모리 양

시작 시 손실되는 메모리 양

다음 문제에 대해 궁금합니다. 컴퓨터와 Xubuntu를 시작하면 로그인 화면 전에 많은 프로그램이 시작됩니다. Valgrind를 통해 시작하는 동안 손실된 총 바이트 수를 측정할 수 있습니까? 그것은 마치

For every program i do
  valgrind i

답변1

프로세스가 종료되면 할당된 메모리는 free로 설정됩니다.

메모리 누수는 프로세스가 실행되는 동안에만 발생할 수 있습니다.

valgrind를 사용하면 머신이 시작된 후에도 여전히 실행 중인 프로세스를 감지하고 분석할 수 있습니다.

답변2

여기에는 수수께끼가 있습니다. valgrind프로세스가 완료될 때까지 프로세스에서 메모리 누수가 발생하는지 여부를 확인할 수 있는 방법이 없으며, 완료되면 문제가 해결됩니다.

또한 모든 소프트웨어(일부 공통 라이브러리 포함)가 종료 시 정리되는 것은 아닙니다.나타나다메모리 누출. 1 이것은 많은 사람들에게 좋은 습관으로 간주되지 않지만 일반적인 사용에는 실제 문제를 일으키지 않습니다.

메모리 누수의 컨텍스트는 이를 누수한 프로세스로 제한된다는 점을 기억하세요. 프로세스가 완료되면 시스템은 "누수" 여부에 관계없이 사용된 모든 메모리를 회수합니다. 응용 프로그램에 대해 알고 싶다면 특별히 valgrind에서 실행할 수 있습니다(이전 단락의 요점을 기억하십시오). 그러나 배포 저장소에 있는 대부분의 콘텐츠는 이미 이 프로세스를 거쳤을 것이므로 제품(및 해당 소스 코드)에 대해 잘 알지 않는 한 아무것도 찾을 가능성이 없습니다.


1. 이로 인해 해당 라이브러리를 사용하는 디버깅 애플리케이션이 약간 번거로워지고 불평이 생길 수 있습니다.

관련 정보