2.2. PowerTOP
Red Hat Enterprise Linux 6에 틱없는 커널이 도입되면서(3.4절. “틱없는 커널”를 참조), CPU가 더 자주 유휴 상태에 들어갈 수 있게 되어, 전력 소비를 줄이고, 전원 관리를 향상 시켰습니다. 새로운 PowerTOP 도구는 CPU를 자주 깨우는 커널의 특정 구성요소와 사용자 공간 어플리케이션을 식별합니다. 개발시 PowerTOP은 3.11절. “사용자 공간에서의 최적화”에 설명한, CPU를 깨우는 정도를 10배정도 감소하도록 어플리케이션들을 튜닝한, 검사를 실행하기 위해 사용되었습니다.
PowerTOP을 다음 명령으로 설치하십시오:
yum install powertop
PowerTOP을 다음과 같이 실행하십시오:
powertop
유용한 결과를 얻으시려면 PowerTOP을 root 권한으로 실행해야 한다는 것을 명심하십시오.
실행되면 PowerTOP은 시스템에서 정보를 수집하여, CPU를 가장 자주 깨우는 구성요소의 목록을 제시합니다. PowerTOP은 또한 절전을 하도록 시스템을 튜닝하는 방법도 제안합니다. 이러한 제안은 화면의 아래쪽에 표시되며, PowerTOP의 제안을 받아들이고자할 경우 눌러야 할 키도 함께 표시합니다. PowerTOP이 주기적으로 갱신되면서 추가적인 제안사항도 표시될 것입니다. 그림 2.1. “동작중인 PowerTOP”에서
increase the VM dirty writeback time
라고 되어있는 제안사항과 그 제안을 허용하기 위해서 눌러야 하는 키(W)를 확인해 보십시오.
실행이 되면 PowerTOP은 시스템에서 통계 정보를 모아서 몇 가지 중요한 정보를 보여줍니다. 맨 위에는 CPU 코어가 얼마나 오래 각각의 C와 P상태에 있었는지를 표시하 줍니다. CPU가 더 높은 C나 P상태에 더 오래 있는 것이 더 나은 것이며(
C4
가 C3
보다 높음), 이것은 시스템이 CPU 활용도에 있어 얼마나 최적화 되어있는가를 보여주는 좋은 지표입니다. 목표를 시스템이 유휴상태에 있는 동안 CPU가 90% \ 또는 그 이상 최고의 C 또는 P 상태에 있는 것으로 잡아야 합니다.
두번째로 보여지는 정보는 해당 기계의 1초당 깨어난 횟수입니다. 초당 깨어난 횟수는 서비스나 커널의 디바이스 드라이버가 시스템의 전력 사용 측면에서 얼마나 잘 동작하고 있는가를 알 수 있는 척도입니다. 초당 깨어난 횟수가 더 많을 수록, 더 많은 전력을 소모하므로, 이 수치가 더 낮은것이 더 좋습니다.
다음으로 PowerTOP은 시스템의 실제 전력 소비량에 대한 추정치를 제공합니다. 가능하다면, 랩탑이 배터리 모드에 있는 동안 PowerTOP이 이 수치를 제시하도록 해 보십시오.
전력 소비 예측치 다음에는 CPU를 가장 자주 깨우는 구성요소의 상세 목록이 있습니다. 목록의 맨 위에 있는 구성요소들이 여전력 소모를 줄이기 위해 시스템을 최적화할 때 더 자세히 검토해야만 하는 것들입니다. 만약 그것이 커널 구성요소라면(
<
>
사이에 목록이 표시됨), CPU를 깨우는 원인을 제공하는 특정 드라이버와 연관되어 있기도 합니다. 드라이버를 튜닝하기 위해서는 커널을 변경해야 하는 경우가 많고, 이는 이 문서의 범위를 벗어나는 것입니다. 하지만, 사용자 영역 프로세스가 CPU를 자주 깨우는 것은 더 쉽게 처리할 수 있습니다. 우선, 그 서비스나 프로그램이 이 시스템에서 실행될 필요가 있는지를 판단하십시오. 만약 필요가 없다면, 단순히 서비스를 비활성화 합니다. 서비스를 영구히 끄려면, 다음을 실행하십시오:
chkconfig 서비스이름 off
어떤 콤포넌트가 실제로 어떤 동작을 했는지를 자세히 보고 싶다면, 다음을 실행하십시오:
ps -awux | grep 콤포넌트이름
strace -p 프로세스id
이 추적 결과, 같은 것이 계속 반복되는 것 처럼 보인다면, 아마도 바쁜 고리(busy loop)에 빠진 것일 수 있습니다. 이러한 문제를 수정하기 위해서는, 해당 구성요소의 코드를 변경해야 하며, 이는 이 문서의 범위를 벗어나는 것입니다.
마지막으로, PowerTOP은 더 낮은 전력 소비를 위해 시스템을 어떻게 튜닝할지에 대한 제안을 표시합니다. 이러한 제안사항은 화면의 맨 아래 표시되며, 그 PowerTOP의 제안을 받아들이고 싶을 때 눌러야 하는 키도 함께 표시됩니다. PowerTOP가 주기적으로 갱신됨에 따라, 다른 제안이 더 표시될 수도 있습니다. 그림 2.1. “동작중인 PowerTOP”에서
increase the VM dirty writeback time
라는 제안과 그 제안을 받아들이기 위해 사용할 수 있는 W 키에 주의하십시오. 이 변경은 다음번 재시작 이전까지만 유효합니다. 이런 변경사항을 시스템에 영구히 적용하기 위해, PowerTOP은 최적화를 위해 실행해야 하는 정확한 명령을 표시합니다. 이 명령을 /etc/rc.local
파일에 선호하는 텍스트 에디터로 저장해서 시스템 시작시 해당 변경 사항이 적용되도록 하십시오.
그림 2.1. 동작중인 PowerTOP
Less Watts 웹사이트는 PowerTOP이 CPU를 활성화시키는 것을 식별할 수 있는 어플리케이션의 목록을 알려줍니다. http://www.lesswatts.org/projects/powertop/known.php을 참조하십시오.