Android/ADB

ADB를 활용한 디바이스 성능 분석

임베디드 친구 2025. 2. 24. 12:31
728x90
반응형

ADB를 활용한 디바이스 성능 분석

Android 디바이스의 성능을 분석하는 것은 개발 및 유지보수 과정에서 중요한 작업입니다. Android Debug Bridge(ADB)를 활용하면 디바이스의 CPU, 메모리, 프로세스 상태, 온도 등 다양한 성능 정보를 확인할 수 있습니다. 이번 포스팅에서는 ADB 명령어를 이용하여 디바이스의 성능을 분석하는 방법을 상세히 설명하겠습니다.

1. ADB란?

ADB(Android Debug Bridge)는 Android SDK에서 제공하는 도구로, 개발자가 Android 디바이스와 컴퓨터 간의 통신을 할 수 있도록 도와줍니다. 이를 통해 디바이스에 명령을 실행하고, 로그를 확인하며, 시스템 상태를 분석할 수 있습니다.

ADB를 사용하기 위해서는 Android SDK와 ADB가 설치되어 있어야 하며, 개발자 모드 및 USB 디버깅이 활성화되어 있어야 합니다.

2. ADB를 이용한 성능 분석 명령어

2.1. CPU 사용량 확인

디바이스에서 실행 중인 프로세스들의 CPU 사용량을 확인하려면 adb shell dumpsys cpuinfo 명령어를 사용합니다.

adb shell dumpsys cpuinfo

이 명령어를 실행하면 현재 실행 중인 프로세스의 CPU 사용량을 확인할 수 있습니다. 출력 예시는 다음과 같습니다.

Load: 1.89 / 1.75 / 1.54
CPU usage from 2579ms to 468ms ago:
  28% 2401/system_server: 23% user + 5% kernel
  10% 318/android.process.media: 8% user + 2% kernel
  5% 723/com.android.systemui: 4% user + 1% kernel

여기서 system_server, android.process.media, com.android.systemui 등의 프로세스가 CPU를 얼마나 사용하고 있는지 확인할 수 있습니다.

2.2. 특정 앱의 메모리 사용량 확인

특정 애플리케이션의 메모리 사용량을 확인하려면 adb shell dumpsys meminfo <패키지명> 명령어를 사용합니다.

adb shell dumpsys meminfo com.example.app

이 명령어를 실행하면 해당 애플리케이션의 메모리 사용량을 상세히 확인할 수 있습니다. 출력 예시는 다음과 같습니다.

Applications Memory Usage (in Kilobytes):
Uptime: 3429804 Realtime: 7593854

** MEMINFO in pid 318 [com.example.app] **
                    Pss  Private  Private  SwapPss
                   Total  Dirty    Clean      Dirty
   Native Heap     15324    15132        0          0
   Dalvik Heap      8256     8132        0          0
   Stack             512      512        0          0

여기서 Native Heap, Dalvik Heap 등의 메모리 사용량을 확인할 수 있으며, Pss Total이 전체 메모리 소비량을 나타냅니다.

2.3. 실시간 프로세스 상태 확인

디바이스에서 실행 중인 프로세스를 실시간으로 확인하려면 adb shell top -n 1 명령어를 사용할 수 있습니다.

adb shell top -n 1

출력 예시는 다음과 같습니다.

User 12%, System 6%, IOW 0%, IRQ 0%
PID   PR CPU%  S   #THR     VSS     RSS   PCY   UID       Name
318   0   5%   S    20    120M     35M    fg    u0_a76    com.example.app
2401  0  15%   S   123    580M    200M    fg    system    system_server

여기서 PID(프로세스 ID), CPU 사용량, 메모리(RSS/VSS) 등을 확인할 수 있습니다.

2.4. CPU 사용률 상세 확인

더 자세한 CPU 사용 정보를 확인하려면 /proc/stat 파일을 확인할 수 있습니다.

adb shell cat /proc/stat

출력 예시는 다음과 같습니다.

cpu  3357 0 7822 1362393 213 0 87 0 0 0
cpu0 1234 0 3122 678567 89 0 10 0 0 0
cpu1 2123 0 4700 683826 124 0 77 0 0 0

각 항목은 다음을 의미합니다.

  • user: 사용자 모드에서 실행된 시간
  • nice: 낮은 우선순위로 실행된 프로세스 시간
  • system: 커널 모드에서 실행된 시간
  • idle: 대기 시간
  • iowait: I/O 대기 시간
  • irq: 하드웨어 인터럽트 처리 시간
  • softirq: 소프트웨어 인터럽트 처리 시간

이를 이용해 CPU 사용률을 분석할 수 있습니다.

2.5. 디바이스 온도 확인

디바이스의 온도를 확인하려면 /sys/class/thermal/thermal_zone0/temp 파일을 읽을 수 있습니다.

adb shell cat /sys/class/thermal/thermal_zone0/temp

출력 예시는 다음과 같습니다.

36000

이는 36.0°C를 의미합니다. 값이 너무 높다면 디바이스의 발열 상태를 점검해야 합니다.

3. 결론

ADB 명령어를 활용하면 Android 디바이스의 성능을 상세히 분석할 수 있습니다.

  • adb shell dumpsys cpuinfo: CPU 사용량 확인
  • adb shell dumpsys meminfo <패키지명>: 특정 앱의 메모리 사용량 확인
  • adb shell top -n 1: 실시간 프로세스 상태 확인
  • adb shell cat /proc/stat: CPU 사용률 상세 확인
  • adb shell cat /sys/class/thermal/thermal_zone0/temp: 디바이스 온도 확인

이러한 명령어들을 활용하여 디바이스의 성능을 점검하고 최적화하는 데 활용할 수 있습니다.

반응형