성능 분석 도구 목록

List of performance analysis tools

소프트웨어 개발에 사용하기 위한 성능 분석 툴 목록이다.

일반적 목적, 언어 독립적

다음 도구는 다양한 시스템에서 생성할 수 있는 로그 파일을 기반으로 작동한다.

  • 시간(Unix) - 사용자 시간 대 시스템 시간 및 CPU 시간 대 클럭 시간을 별도로 계산하여 프로그램의 실행 시간을 결정하는 데 사용할 수 있다.[1]
  • timem(Unix) - 월 클럭 시간, CPU 시간 및 CPU 활용률을 시간(Unix)과 유사하게 결정하는 데 사용할 수 있지만, 수많은 확장을 지원한다.
    • Getrusage를 통한 최대 상주 설정 크기, 주요 및 사소한 페이지 오류, 우선 순위 및 자발적 컨텍스트 스위치 보고 지원
    • 페이지 기반 상주 설정 크기, 가상 메모리 크기, 읽기-바이트, 쓰기-바이트 등의 메트릭을 보고할 수 있는 지원 시스템의 샘플링 프로프 지원
    • PAPI 지원을 통해 구축된 하드웨어 카운터 수집 지원

다국어

다음 도구는 다국어 또는 이진에 사용할 수 있다.

이름/제조업체 OS 컴파일러/언어 그것이 하는 일 면허증
암 맵 리눅스 C, C++, Fortran/Fortran90 및 Python 애플리케이션. 성능 프로파일러.I/O, 통신, 부동소수점 운영 사용 및 메모리 액세스 비용을 표시한다.

다중 스레드 및 다중 프로세스 애플리케이션(예: MPI 또는 OpenMP 병렬 처리) 지원 및 매우 높은 노드 수로 확장

소유권
Cisco별 AppDynamics Linux, Windows, iOS, Android, Azure, AWS, AIX .NET, Java, PHP, HTML5, ObjectC/iOS, Java/Android, C/C++, Apache, Nginx, Cassandra, DataBases 응용 프로그램 성능 관리를 참조하십시오. 소유권
SmartBear Software별 AQtime 창문들 .NET 1.0 ~ 4.0 응용 프로그램(ASP 포함)NET 애플리케이션), Silverlight 4.0 애플리케이션, 윈도우즈 32비트 및 64비트 애플리케이션(C, C++, Delphi for Win32, VBScript 및 JScript 기능 포함) 성능 프로파일러 및 메모리/리소스 디버깅 도구 세트 소유권
AMD별 코드분석기 Linux, Windows C, C++, 목적 C.NET, Java(실행 가능한 수준에서 작동) AMD uProf는 AMD 프로세서에서 CPU 및 전력 프로파일링을 위한 CodeAnatalyst 및 CodeXL을 대체한다.

GUI 기반 코드 프로파일러, Intel 프로세서에 대한 기본 타이머 기반 프로파일링만 수행OProfile 기준.

무료/오픈 소스(GPL) 또는 독점 제공
AMD CodeXL by AMD Linux, Windows GPU 프로파일링 및 디버깅의 경우: OpenCL. GPU 프로파일링, GPU 디버거 및 정적 커널 분석기를 위한 도구 모음입니다. 자유/개방형 소스(MIT)
AMD uProf by AMD Linux, Windows C, C++, .NET, Java, Fortran 코드 프로파일러, AMD 프로세서에 기반한 샘플링 기반 프로파일링 수행 소유권
볼랜드별 DevPartner / Micro Focus .NET, 자바 소프트웨어 결함 및 성능 문제를 자동으로 감지하고 진단하는 테스트 제품군. 소유권
Sun Microsystems별 DTrace Solaris, Linux, BSD, macOS 프로덕션 시스템의 커널 및 애플리케이션 문제를 실시간으로 해결하기 위한 포괄적인 동적 추적 프레임워크. 자유/개방 소스(CDDL)
다이너모리오 바이 리오 Linux, Windows 동적 프로그램 분석 도구 개발을 위한 동적 이진 계측 프레임워크. 자유/개방형 소스 - BSD
다이나트레이스 Linux, Windows, iOS, Android, AWS, AIX, Solaris, HP/UX, zOS, zLinux .NET, Java, PHP, HTML5, Ajax(웹 사이트용), 목표-C/iOS, Java/Android, C/C++, CICS, Apache, Nginx, Cassandra, Hadoop, MongoDB, HBase 응용 프로그램 성능 관리를 참조하십시오. 소유권
엑스트라 Linux, Android 주로 C/C++/Fortran이지만 지원되는 병렬 라이브러리와 연결하는 모든 응용 프로그램(예: MPI4PY)을 프로파일링할 수 있음 뷰어 및 지원 유틸리티가 포함된 HPC 성능 분석 도구주로 MPI, OpenMP, CUDA, OpenCL, pthreads 및 OmpS를 지원하는 병렬 애플리케이션을 위해 설계됨.추가 기능으로는 사용자 기능 추적 및 PAPI를 통한 하드웨어 이벤트 캡처 등이 있다. 자유/개방형 소스 - LGPL-2.1
퓨전 리액터 Linux, Windows, MacOS, AWS, Azure, Google Cloud Java, ColdFusion, Apache, MongoDB는 JVM이 지원하는 모든 언어로 작동함 애플리케이션 성능 관리 및 성능 및 근본 원인 분석 수행APM과 Low Level Developer Style Tooling을 결합함. 디버거와 Java, 메모리, 스레드 및 CPU 프로파일러도 포함. 소유권
글로우코드 창문들 64비트 및 32비트 애플리케이션, C, C++, .NET 및 모든 언어 컴파일러에서 생성된 dll. 시간 집약적인 기능을 식별하고 메모리 누수 및 오류를 감지하는 성능 및 메모리 프로파일러 소유권
gprop 리눅스/유닉스 gcc가 지원하는 모든 언어 샘플링 및 콜그래프 프로파일링을 결합한 여러 도구.일련의 시각화 도구인 VCG 도구는 CGDI(Call Graph Drawing Interface)를 사용하여 gprop과 인터페이스한다.gprof와 인터페이스하는 또 다른 시각화 도구는 KProf이다. 자유/개방형 소스 - BSD 버전은 4.2의 일부임BSD 및 GNU 버전은 GNU Binutils의 일부임(GNU 프로젝트별)
HWPMC FreeBSD 6.0+ 다중 아키텍처를 지원하는 시스템 레벨 및 프로세스 레벨 계산 및 샘플링 하드웨어 성능 모니터링 프레임워크. BSD
인스타나 Linux, Windows, iOS, Android, AWS, AIX, Solaris, HP/UX, zOS, zLinux .NET, .Net core, Java, PHP, Ruby, Python, Crystal, Scala, Kotlin, Clojure, Haskell, Node.js, Web Browser, Apache, Nginx, Cassandra, Hadoop, MongoDB, Elicsearch, Kafka. 응용 프로그램 성능 관리를 참조하십시오. 소유권
Xcode가 있는 기기 마코스 C, C++, Objective-C/C++, Swift, 코코아 앱. 계측기는 CPU 활동 변화, 메모리 할당, 네트워크 및 파일 활동과 같은 애플리케이션에서 발생하는 모든 이벤트를 그래프와 통계와 함께 표시하는 시간대를 보여준다.

이벤트 그룹은 다음에서 특정 계측기를 선택하여 모니터링한다.파일 활동, 메모리 할당, 시간 프로파일러, GPU 활동 등실행 파일이 시스템 전체에 미치는 영향:시스템 추적, 시스템 사용, 네트워크 사용, 에너지 로그 등이 유용하다.

무료. 독점.Xcode와 함께 번들로 제공되며, 이것도 무료다.
인텔 어드바이저 Linux와 Windows.MacOS에서만 뷰어. C, C++, 데이터 병렬 C++ 및 Fortran 설계 및 분석 도구 모음 - 벡터화(SIMD) 최적화, 스레드 프로토타이핑, 자동 루프라인 분석, 오프로드 모델링 및 흐름 그래프 분석 프리웨어 및 독점.Intel oneAPI Base Toolkit의 일부로 사용 가능.
리눅스 트레이스 툴킷(LTT) 리눅스 패치된 커널 필요 프로세스 차단, 컨텍스트 스위치 및 실행 시간에 대한 데이터 수집이는 여러 프로세스 또는 스레드에 걸쳐 성능 문제를 식별하는 데 도움이 된다.LTTng로 대체됨. GPL
LTTng(Linux Trace Toolkit Next Generation) 리눅스 커널, 응용프로그램 및 라이브러리의 상관된 추적을 위한 시스템 소프트웨어 패키지. GPL/LGPL/MIT
OPRO파일 리눅스 인터럽트 핸들러 및 커널 자체와 같은 프로파일링하기 어려운 프로그램을 포함하여 리눅스 시스템에서 실행되는 모든 사항을 프로파일링하십시오. 캐시 누락, 스톨, 메모리 가져오기 등을 카운트하는 Linux용 샘플링 프로파일러. 오픈 소스 GPLv2
Oracle Solaris Studio 성능 분석기 Linux, Solaris C, C++, Fortran, Java, MPI 성능 및 메모리 프로파일러. 독점 프리웨어
관류 도구 Linux 커널 2.6.31+ 여러 아키텍처에서 하드웨어 이벤트를 지원하는 프로파일러 샘플링. GPL
PAPI(Performance Application Programming Interface) 다양한 최신 마이크로프로세서의 하드웨어 성능 카운터 라이브러리
인텔별 Linux, Windows, MacOS, Android 사용자가 사용자 정의 프로그램 분석 도구를 만들 수 있는 동적 이진 계측 시스템. 독점적이지만 비상업적 사용을 위한 무료
이성 정화더하기 AIX, Linux, Solaris, Windows 성능 프로파일링 도구, 메모리 디버거코드 적용 도구. 소유권
스칼라스카 리눅스 C/C++, 포트란 병렬 추적 분석기. 자유/개방 소스(BSD 라이센스)
샤크 바이 애플 MacOS(10.7로 계속) 성능 분석기. 독점 프리웨어
시스템탭 리눅스 프로그램 가능한 시스템 추적/프로빙 도구. 커널 및/또는 사용자 공간의 시간 또는 성능 카운터 또는 기능 기반 프로파일을 생성하기 위해 스크립팅할 수 있다. 오픈 소스
발그라인드 Linux, MacOS, Solaris, Android 조립자를 포함한 모든 것 디버깅 및 프로파일링 시스템. 메모리 관리 및 스레딩 버그 또는 프로필 성능(캐시그라인드와 콜그라인드)을 감지하는 도구를 지원한다.KCacheGrind, Valkyrie, Alleoop은 발그라인드의 프런트엔드다. 자유/개방 소스(GPL)
Intel CorporationVTune 프로파일러

(이전의 VTune 앰프)

Linux, Windows, MacOS 전용 뷰어 C, C++, C#, Data Parallel C+++(DPC++), Fortran, .NET, Java, Python, Go, ASM 어셈블리 샘플링, 계측 및 프로세서 추적 기술로 구현된 프로파일링 분석 모음입니다.Hotspot, Threading, HPC, I/O, FPGA, GPU, 시스템, 스로틀 및 마이크로아키텍처 분석 포함. 프리웨어 및 독점.Intel 1의 일부로 사용 가능API 기본 툴킷.
MicrosoftWindows 성능 분석 툴킷 Windows, Linux, Android CPU 샘플링, CPU 스케줄링, 디스크 등을 포함한 시스템 전반의 기본 윈도우즈 성능 분석 도구.플러그인을 통해 리눅스 LTTng 및 Perf CPU 샘플링 트레이스 및 Android Perfetto 트레이스를 열 수 있음 리눅스/안드로이드 오픈 소스 플러그인이 포함된 전용 프리웨어
RotateRight 줌 Linux, macOS, Viewer Only for Windows ARM 및 x86 프로세서에서 대부분의 컴파일된 언어 지원 그래픽 및 명령줄 통계(이벤트 기반) 프로파일러.
비주얼심 Linux, MacOS, Microsoft Windows C/C++/SystemC 지원 성능, 전력 및 신뢰성을 위해 복잡한 전자 시스템의 아키텍처를 선택, 분석 및 검증하는 그래픽 모델링 및 시뮬레이션 플랫폼. 소유권

C와 C++

  • 리눅스 플랫폼을 지원하는 성능 프로파일러인 Arm MAP.
  • SDK를 통한 C/C++ 애플리케이션을 위한 애플리케이션 성능 관리 솔루션인[buzzword] AppDynamics.
  • Microsoft Visual Studio 및 Embarcadero RAD Studio에 통합하거나 독립형 애플리케이션으로 실행할 수 있는 성능 프로파일러 및 메모리 할당 디버거인 AQtime Pro
  • IBM Rational Pured는 성능 분석을 가능하게 하는 메모리 디버거였다.
  • 실행 파일의 메모리 할당, 시간 사용, 파일 시스템 활동, GPU 활동 등을 프로파일링하는 데 사용되는 기기(Xcode와 함께 번들됨)
  • Intel 병렬 스튜디오에는 직렬 및 병렬 프로그램을 모두 튜닝하는 Intel VTune 앰프가 포함되어 있다.또한 인텔 어드바이저와 인텔 인스펙터도 포함한다.Intel Advisor는 벡터화(SIMD 명령 사용)와 프로토타입 스레딩 구현을 최적화한다.Intel Inspector는 레이스, 교착 상태 및 메모리 오류를 감지하고 디버깅한다.
  • Parasoft Insurance++는 메모리 할당을 실시간으로 표시하고 애니메이션화하여 메모리 블로아웃, 조각화, 과다 사용, 병목 현상 및 누수를 노출시키는 그래픽 툴을 제공한다.
  • Visual Studio Team System Profiler, 마이크로소프트 상용 프로파일러.

자바

  • inspectIT는 소프트웨어 애플리케이션을 모니터링 및 분석하기 위한 오픈 소스 애플리케이션 성능 관리(APM) 솔루션으로[buzzword], Apache License 버전 2.0(ALV2)에서 이용할 수 있다.
  • JConsoleJava Development Kit와 함께 제공되는 프로파일러 입니다.
  • JP로필러
  • JRockit Mission Control, 오버헤드가 낮은 프로파일러.
  • NetBeans Profiler, NetBeans IDE에 통합된 프로파일러(내부적으로 jvisualvmp 프로파일러 사용)
  • 자동화된 근본 원인 탐지를 통한 Plumbr, Java 애플리케이션 성능 모니터링.메모리 누수, GC 비효율성, 느린 데이터베이스 및 외부 웹 서비스 호출, 잠긴 스레드 및 기타 성능 문제를 발생시키는 소스 코드의 라인에 연결한다.
  • 최신 소프트웨어 공급망을 위한 지속적인 신뢰성인 OverOps는 모든 오류에 대한 근본 원인 자동화를 자동으로 감지하고 제공한다.
  • VisualVM은 여러 명령줄 JDK 도구와 경량 프로파일링 기능을 통합한 시각적 툴이다.버전 6, 업데이트 7 이후 Java Development Kit와 함께 번들로 제공된다.
  • FusionReactor, Java 애플리케이션 성능 모니터링 - 낮은 오버헤드, 프로덕션 디버깅을 위한 프로덕션 등급 도구, 코드 프로파일링, 메모리 및 스레드 분석

자바스크립트

.NET

  • CLR 프로파일러는 마이크로소프트가 CLR 애플리케이션을 위해 제공하는 무료 메모리 프로파일러다.
  • YlowCode는 의 성능 및 메모리 프로파일러입니다.C# 및 기타 를 사용하는 NET 애플리케이션.NET 언어.시간이 많이 걸리는 기능을 식별하고 네이티브, 관리형, 혼합형 윈도우 x64 및 x86 애플리케이션에서 메모리 누수와 오류를 감지한다.
  • 비주얼 스튜디오

PHP

참고 항목

참조

  1. ^ "CodeXL". Archived from the original on 19 September 2013. Retrieved 26 September 2013.
  2. ^ "Performance - Firefox Developer Tools MDN". MDN Web Docs. Retrieved 27 October 2021.{{cite web}}: CS1 maint : url-status (링크)

외부 링크