본문 바로가기

IT

[안드로이드] SetCPU, scaling 설정값의 의미는?

1년 반만의 포스팅.

요즘 안드로이드 폰 사이에서 배터리 및 성능 최적화를 위해 사용하고 있는 SetCPU 어플.




곰디님께서 최적화 팁을 올려주셨고, 많은 안드로이드 유저분들이 그 팁을 적용하여 폰을 이용중인 것으로 알고있다.

그런데 정작 어플을 사용하고 있는 우리는 SetCPU의 각 설정값의 의미가 뭔지도 모르는 채로 최적화 값만 따라서 적용하고 있다. 그래서 오늘은 SetCPU의 scaling 설정값에 대하여 이야기 해보려 한다.

해외 포럼에서 찾아낸 글이다.







----------
I just received an email from Mike (the creator of SetCPU). He explained for me exactly what each CPU Governor option does. Hope this helps.


I'll explain all of the governors:

- The ondemand governor is the default option used by Android. It scales the CPU speed between the minimum and maximum speeds depending on CPU load. If the system needs more speed, the kernel will rapidly scale up the CPU speed.
- The conservative sets the CPU speed in a similar way to the ondemand governor, but scales the CPU up much less rapidly. This would theoretically save battery power, but may lead to less responsiveness.
- The userspace governor is currently useless. It's another way for applications to set the CPU speed that SetCPU does not use.
- The powersave governor always keeps the CPU at the minimum set frequency.
- The performance governor always keeps the CPU at the maximum set frequency.

Except for "userspace," no matter which governor you set, the CPU will always stay within the bounds of the maximum and minimum speeds you set in SetCPU.
----------










개발자에게서 직접 들은 대답이라고 한다. 이를 정리해보면

-ondemand ; 갤럭시s에는 잘 어울리지 않는다고 알려진 이 모드는 안드로이드 커널의 기본 옵션을 이용하여 CPU의 클럭을 조절한다고 한다. 아마도 최고 클럭과 최저 클럭을 설정할 수 있다는 것 이외에는 SetCPU를 설치하지 않은 상태와 다를게 없는 듯하다.
-conservative ; ondemand와 비슷한 설정이지만, CPU의 속도를 올릴 때 ondemand보다 조금 천천히 올린다고 한다. 이 때문에 반응성이 약간 저하될 수도 있지만, 이론상으로는 이 방법을 통해 배터리 절약의 효과를 볼 수 있다고 한다.
-userspace ; 개발자도 인정한 쓸모 없는 기능이다.
-powersave ; 배터리를 아낀다고 무조건 이 모드를 설정하는 유저들이 많은 것으로 안다. 그러나 이 모드는 경우에 따라 성능을 꽤 많이 희생시킬 수도 있는 설정이다.
이 모드에서는 배터리 절약을 위해 무조건 사용자가 설정해 놓은 '최저' 클럭에 맞추어 폰을 가동하게 되어있다. 이렇게 되면 아무리 최고 클럭을 높게 설정해 놓더라도 아무런 의미가 없게 된다. 무조건 최저에 맞추어 CPU가 작동하기 때문이다.
-performance ; 말그대로 최적의 성능을 위한 설정이다. 이 모드에서는 사용자가 설정한 '최고' 클럭으로만 폰이 작동된다. 물론 이 상태에서는 최저 클럭 값이 아무런 영향을 주지 못하게 된다. 항상 최고 클럭으로만 폰이 가동되기 때문이다.


결국에는 클럭에 변화가 생기는 설정값은 ondemand와 conservative뿐이다. 나머지 설정들은 최고, 혹은 최저 클럭수만 조절해주면 그 값에 클럭이 고정되는 것이다.
이렇게 되면 우리가 그동안 복잡하게 설정해 사용해왔던 것들이 사실은 무의미하다(?)고 할 수 있는 것이다. 그래서 필자는 상황에 따라 유동적으로 클럭이 변경되도록 다음과 같이 설정해두고 있다.



아직 오래 테스트 해보자는 못했지만, 체감상 속도에 문제는 없어보인다. 각자의 상황에 맞추어 다섯가지 설정값들을 적절히 이용해보도록 하자.




아직 오래 테스트 해보자는 못했지만, 체감상 속도에 문제는 없어보인다. 각자의 상황에 맞추어 다섯가지 설정값들을 적절히 이용해보도록 하자.

iPod 에서 작성된 글입니다.

'IT' 카테고리의 다른 글

웹 표준을 준수한다는 것은?  (2) 2011.11.19
네이버 PDA 서비스 종료!  (10) 2009.06.09
티스토리 주제별 새글 문의, 그 후.  (2) 2009.06.08