Linux에서 사용할 수있는 무료 저지대 (통계적) 프로파일 러는 무엇입니까?
-
21-08-2019 - |
문제
바람직하게는 우분투 저장소에서.
해결책
다른 사람들은 언급했습니다 Oprofile; 현대적인 Linux 설치에 대한 전체 시스템 통계 프로파일 링의 경우 실제로는 흔들립니다.
더 유쾌한 도구 (커널 지원이 필요하지 않으므로 이전 버전의 Linux 또는 비 Linux 운영 체제에서 작동 함)는 다음과 같습니다. gnu gprof, 포함 된 binutils (따라서 의심 할 여지없이 개발 환경에 이미 설치되어 있습니다).
사용 gprof
, 단지 응용 프로그램을 컴파일하면됩니다 -pg
논쟁 gcc
; 호출 된 파일 gmon.out
프로그램 종료 후에 만들어집니다 gprof
그런 다음이 파일을 분석하는 데 사용할 수 있습니다.
다른 팁
간단하지만 효과적인 기술은 GDB에 따라 프로그램을 실행하고 Sigint 신호를 처리하는 것입니다. 프로그램이 실행되는 동안 Control-C 등을 입력하여 Sigint를 수동으로 생성하고 중단되는 동안 통화 스택을 기록하십시오. 프로그램은 주관적으로 느려지는 반면 10 또는 20과 같이 여러 번 수행하십시오. 이것은 시간이 어디로 가는지에 대한 아주 좋은 아이디어를 줄 것입니다.
이 방법은 정확한 타이밍을 제공하지 않지만 가장 많은 비용이 드는 통화 지침을 포함한 지침을 정확하게 찾습니다.
Sysprof Oprofile과 유사한 좋은 프로파일 러입니다 (GTK GUI도 있습니다). Ubuntu 저장소에서 사용할 수 있습니다. 커널 레벨 프로파일 러이며 GPROF와 달리 커널 모듈이 필요하지만 GPROF와 달리 멀티 스레드 애플리케이션을 프로파일 할 수 있습니다.
거기 있습니다 Oprofile. 사용하기가 어렵지는 않지만 다소 버그가 있습니다.
나는 Oprofile과 함께 좋은 성공을 거두었습니다 (http://oprofile.sourceforge.net/news/) Ubuntu 저장소에서도 제공됩니다. 재 컴파일이 필요하지 않으며 공유 객체 등에 대한 제한이 없습니다.