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
: 디바이스 온도 확인
이러한 명령어들을 활용하여 디바이스의 성능을 점검하고 최적화하는 데 활용할 수 있습니다.
'Android > ADB' 카테고리의 다른 글
ADB를 활용한 Android 시스템 설정 변경 (0) | 2025.02.23 |
---|---|
ADB를 활용한 백업 및 복원 (0) | 2025.02.22 |
ADB를 활용한 네트워크 및 포트 포워딩 (0) | 2025.02.21 |
ADB 활용 고급 팁 및 문제 해결 (0) | 2025.02.20 |
Fastboot 모드 및 부트로더 관리 (0) | 2025.02.19 |