프로파일링 툴

EEEFFEE·2023년 11월 6일
0

Linux 환경

목록 보기
4/9

23.11.06 최초 작성

  • 시스템을 구축할 때 중요한 작업 중 하나로 성능 저하를 방지가 있다
  • 컴퓨터에 발생하는 문제를 사람이 직접 눈으로 확인하기는 어렵다
  • 현재 시스템의 문제를 직접 눈으로 확인할 수 있도록 기능을 제공하는 프로그램을 프로파일링 툴이라고 한다

1. Htop / top

  • 터미널에서 실행중인 프로세스와 시스템 리소스 사용률을 실시간으로 나타냄

2. Mpstat

  • 다중 프로세스 시스템의 CPU 사용률을 표시

  • CPU 코어의 활동 및 유휴 상태 모니터링 가능

3. Perf

  • 하드웨어/소프트웨어 이벤트를 수집 & 분석 가능

  • CPU 이벤트 모니터링 (Cache Hit, branch miss)

  • 애플리케이션 / 커널 성능 프로파일 수집 (처리시간 긴 함수, 자주 호출되는 함수)

  • 유저 / 커널 공간에서 발생하는 성능 데이터 수집 & 파일에 저장

  • 프로그램 성능 통계 수집하고 출력

4. strace

  • 유저레벨 애플리케이션과 시스템 콜 관련 이벤트를 추적하고 기록

  • 호출 순서, 전달되는 인자, 반환값 확인 가능

  • 시그널과 관련된 이벤트 확인

5. ftrace

  • 커널 내부에서 발생하는 이벤트를 추적하고 분석

  • 시스템 관리자만 사용 가능

  • 커널 함수 호출, 컨텍스트 스위칭, 인터럽트 처리, 스케줄링, 타이머 등 다양한 이벤트 추적 가능

6. lsof

  • 리눅스에서 열린 파일, 디렉토리, 소켓, 파이프 등을 나열

  • 프로세스 별로 제공

7. eBPF

  • 사용자가 작성한 eBPF 프로그램을 커널 공간에서 안전하게 실행할 수 있는 구조

  • 메모리 접근, 무한 루프, 시스템 호출 검사

  • 커널에서 발생하는 다양한 이벤트를 추적 & 분석

0개의 댓글

관련 채용 정보