2010-02-10 1 views

답변

6

는 Valgrind의에 신호를 보내려면 pkill에 -USR1 Valgrind의 나를 위해 작동하지 않습니다.

pkill에 -USR1 memcheck

트릭을 할.

3

valgrind에게 메모리 사용 상태를 확인하라는 신호가 없습니다. 시간이 지남에 따라 프로그램에서 사용 된 메모리 양과 해당 메모리가 할당 된 위치에 관심이있는 경우 valgrind의 massif 도구는 해당 정보를 기록 할 수 있으며 해당 정보는 ms_print 유틸리티를 사용하여 표시 할 수 있습니다. Massif는 메모리 사용량이 최고점에 도달 한 지점을 나타내는 피크 스냅 샷 (기본 옵션을 사용하여 1 % 이내)을 포함하여 프로그램 실행 동안 프로그램의 메모리 사용량에 대한 스냅 샷을 자동으로 기록합니다.

는 Valgrind의의 대산 괴 도구에서 프로그램을 실행하려면 :
valgrind --tool=massif yourprogram 

은 이진 파일 massif.out.PID

만들어집니다. 텍스트 형태의 정보를 포맷 ms_print를 사용

ms_print massif.out.12345 
+0

아, 감사합니다. 프로그램을 종료하려면 신호 번호 40을 받아야합니다. 그것은 서버 데몬입니다. 그래서 나가는 방법은 시그널 40을 보내고 시그널 핸들러가 프로그램을 종료시키는 것입니다. 그래서 valgrind에서 메모리 사용량을 확인할 때 신호를 보내는 방법을 찾을 수 없습니다. 왜냐하면이 프로그램의 프로세스가 전혀 없기 때문입니다. 어쨌든 프로그램에 신호를 보낼 수 있습니까? 감사! –

+1

프로그램을 실행중인 valgrind 프로세스에 신호를 보내면 valgrind가이를 프로그램의 신호 처리기로 전달합니다. – mark4o