3.5.3. Valgrind
Valgrind는 애플리케이션의 성능과 정확성 개선에 도움이 될 검색 및 프로파일링 도구를 제공합니다. 이러한 도구는 힙, 스택, 배열 오버런 이외에 메모리 및 스레드 관련 오류를 감지할 수 있으므로 애플리케이션 코드에서 오류를 확인하고 쉽게 수정할 수 있습니다. 캐시, 힙, 분기 예측을 프로파일하여 애플리케이션 속도를 높이고 애플리케이션 메모리 사용을 최소화할 수 있는 요소를 식별할 수 있습니다.
Valgrind는 애플리케이션을 통합 CPU에서 실행하고 기존 애플리케이션 코드를 실행하는 동안 계측하여 애플리케이션을 분석합니다. 다음에 "코멘트"를 붙여 애플리케이션 실행에 관련된 각각의 프로세스를 특정 사용자 파일 설명자, 파일, 네트워크 소켓으로 명확하게 식별합니다. 계측의 수준은 사용하는 Valgrind 도구 및 설정에 따라 다르지만 계측된 코드의 실행은 일반적 실행 보다 4-50배의 시간이 걸릴 수 있다는 것을 염두해 두십시오.
Valgrind는 다시 컴파일하지 않고 그대로 애플리케이션에서 사용할 수 있습니다. 하지만 Valgrind는 코드의 문제를 식별하기 위해 디버그 정보를 사용하므로 애플리케이션 및 지원 라이브러리가 유효한 디버깅 정보로 컴파일되지 않은 경우 이러한 정보를 포함하도록 다시 컴파일할 것을 강력하게 권장합니다.
Red Hat Enterprise Linux 6.4에서 Valgrind는 gdb (GNU Project Debugger)로 통합되어 디버깅 효율성을 높입니다.
Valgrind에 대한 보다 자세한 내용은 http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/의 개발자 가이드에서 참조하거나 valgrind 패키지가 설치되어 있을 경우
man valgrind
명령을 사용하여 참조할 수 있습니다. 기타 다른 문서는 다음에서 확인하실 수 있습니다:
/usr/share/doc/valgrind-<version>/valgrind_manual.pdf
/usr/share/doc/valgrind-<version>/html/index.html
시스템 메모리를 프로파일하기 위해 Valgrind 사용하는 방법에 대한 자세한 내용은 5.3절. “프로파일 메모리 사용에 Valgrind 사용 ”에서 참조하십시오.