본문 바로가기
IT/안드로이드

안드로이드 I/O scheduler 스케줄러 설명

by Jaspers 2019. 8. 30.

안드로이드의 I/O 스케줄러에 대해 설명해드리겠습니다.

대표적인 스케줄러 5개만 소개해 드리겠습니다.

 

1. cfq

대부분의 안드로이드 기기, 리눅스의 기본 스케줄러입니다.

이 스케줄러는 모든 작업을 공평한 우선순위로 처리하고 특별한 건 없습니다.

지연 시간이 있습니다. 하드 드라이브에 최적화가 되어 있습니다.

 

2.  noop

작업이 들어오면 순서대로 처리하는 스케줄러입니다.

CPU, 메모리에 부하량이 적고 배터리 소모량이 적은 스케줄러입니다.

 

3. Deadline

쓰기보다 읽기를 먼저 하는 스케줄러입니다. 다른건 noop와 비슷한 스케줄러입니다.

작업을 실시간으로 확인하고 처리하는 스케줄러입니다.

 

4. sio

이 스케줄러 적극 추천드립니다.

다른 스케줄러보다 I/O에 부하가 덜 가도록 하는 스케줄러입니다. 배터리 소모량이 적고 최적화가 매우 잘 된 스케줄러입니다.

단점은 저장장치 속도저하 현상입니다.

 

5. bfq

cfq의 상위 버전입니다. cfq보다 좋은 스케줄러입니다.

cfq보다 최대 30% 속도향상이 있다고 합니다.

cfq보다 지연 시간이 적습니다.

 

스케줄러 설정을 고르실 때 SSD, 플래시 메모리의 경우 noop 계열 스케줄러를 추천드리고 일반 하드디스크는 cfq 계열 스케줄러를 추천드립니다.

 

현재 저는

sio(I/O 스케줄러) + interactive(CPU 가버너) 를 사용하고 있습니다.

자신의 CPU 가버너에 맞는 I/O 스케줄러를 선택하시면 됩니다

개인적으로 배터리와 성능 둘 다 좋은 스케줄러인 sio와 noop를 추천드립니다.

 

더 많은 스케줄러 정보는 여기에서 보실 수 있습니다.

댓글