Apple은 OS X Mavericks에서 프로세스의 에너지 소비를 어떻게 계산합니까?


15

OS X Mavericks에서는 활동 모니터에서 다른 프로세스의 에너지 소비를 모니터 할 수 있습니다. 에너지 영향 열을 표시하는 활동 모니터여기에서 '에너지 영향'및 평균 에너지 영향 '을 볼 수 있으며 값이 100을 초과 할 수 있습니다.

또한 현재 실행중인 가장 에너지 소비가 많은 응용 프로그램을 나열하는 메뉴 표시 줄 아이콘이 있습니다.

Apple이 현재 에너지 소비를 계산하는 방법에 대한 문서가 있습니까? CPU 사용률과 에너지 소비간에 매핑이 있습니까?

여기에 힌트를 줄 수있는 전문가가 있기를 바랍니다.

답변:


1

CPU 사용률에는 에너지 소비에 영향을 미치는 여러 측면이 있습니다. 애플리케이션이 소비하는 CPU의 양뿐만 아니라 얼마나 자주 그리고 얼마나 유연한 지에 관한 것입니다. 후자는 훨씬 더 큰 영향을 줄 수 있습니다.

단 몇 줄의 간단한 Obj-C 코드를 실행하기 위해 정확히 10ms마다 깨어날 필요가있는 응용 프로그램은 수천 줄의 코드를 실행하는 동일한 응용 프로그램보다 훨씬 큰 에너지 영향을 줄 수 있지만 1 초에 한 번만 사용하면 정확히 그 초 안에 언제 계산이 일어날 지에 대해 특히.

Apple은 아마도 Intel의 성능 카운터를 사용하여 응용 프로그램에 기록합니다. 전원 상태와 에너지 관리를 이해하려면 먼저 인텔 설명서를 따르면 가장 많은 통찰력을 얻을 수 있습니다. 이것은 아키텍처마다 크게 다릅니다. 잘못 작동하는 앱은 "이전"Core 2 시스템보다 Haswell에 훨씬 큰 영향을 줄 수 있습니다.

오디오 시스템, 디스크 I / O 또는 USB 장치 사용과 같은 다른 자원의 사용도 고려 될 수 있습니다. 가능한 회계 방법은 응용 프로그램이 독점적으로 사용하는 자원에 필요한 모든 에너지 사용을 응용 프로그램에 할당합니다 (예 : 사용자 정의 USB 장치, 그렇지 않으면 전원이 꺼진 오디오 시스템에 액세스) 및 공유 하드웨어에 대해 일종의 비례 배분을 수행합니다.


1

그것은 모두 정밀한 모니터링과 밀리 초까지의 측정으로 시작됩니다.

예를 들어 인텔은 인텔 CPU 매개 변수를 모니터링하는 도구를 만들었습니다.

전원 주파수 및 온도를 표시합니다.

전력 사용량 및 온도는 주파수 (속도) 또는 처리 된 데이터 양의 곱입니다.

샘플링 속도는 밀리 초이고 전력은 와트 단위이며 활동 모니터는 응용 프로그램 / 프로세스별로 CPU의 총 전력을 측정하는 동안 CPU의 총 전력을 측정합니다.

인텔

다음은 Apple의 전원 관리 / 소비에 관한 기사 입니다. 전원 관리 방법에 대해 좀 더 자세히 설명합니다.

요약하면, ms 전력 측정을 사용하면 전체 전력 소비를보다 효과적으로 제어 할 수 있습니다.

TC 이전

전에

애플리케이션 별 및 위의 누적 전력 사용량에 대한 위의 정보를 사용하여 Apple은 Timer Coalescing 및 App Nap 기능을 구현하여 아래 차트의 전력 소비를 관리했습니다.

TC 후

후

위 차트에 대한 자세한 내용을 보려면이 기사를 방문하십시오 .

RAM 관리 및 디스크 읽기 / 쓰기, 네트워크 카드 및 개선 예를 들어 다른 사람을 포함하여 CPU 컨트롤의 활동 때문에 RAM 관리 도 자주 디스크 R / W 활동에 의해 발생하는 전력 소모를 줄일 수 있습니다.

전원 관리에는 여러 측면이 있으며 전력 소비를 줄이기 위해 매우 정확한 측정 및 소프트웨어 설계의 조합입니다.

몇 가지 예는 다음과 같습니다.

앱 낮잠 ​​기능

타이머 병합 기능 PDF

RAM 관리 기능


1
@grgarside 이미지는 답변에 연결된 사이트에서 가져온 것 같습니다. 그럼에도 불구하고 각 그림의 출처를 명시 적으로 언급하는 것은 해가되지 않습니다.
nohillside

1
@ patrix- done, 모든 소스를 보여주었습니다 :)
Ruskes

0

전력 소비량 계산 방법에 대한 문서는없는 것 같습니다. CPU 사용량만으로는 전력 소비를 안정적으로 예측할 수 없습니다. 따라서 고려해야 할 주요 요소는 다음과 같습니다 (App Nap이보고 제어하는 ​​것에 다소 보완적임).

  • CPU 사용량
  • 디스크 입출력
  • 네트워크 입력 / 출력
  • 주변기기 사용 (예 : 오디오 스피커)

다시 말하지만, 이러한 각 요인을 측정하는 방법과 전력 소비를 계산하는 데 사용되는 공식에 대한 세부 정보는 없습니다. 우리는 모든 Mac (및 PC)에 시스템 내에 다양한 센서가 장착되어 있다는 사실을 알고 추측 할 수 있습니다. 하드웨어 모니터 와 같은 도구를 사용 하여 Mac에있는 센서와 실시간으로보고하는 센서를 확인할 수 있습니다 .

하드웨어 모니터 에서 사용 가능하고 몇 년 동안 사용 된 전력 소비와 관련된 주요 센서 는 CPU 전압, CPU 전류 및 CPU 전력입니다. 위 목록의 다른 요소의 경우 전력 소비를 측정하기위한 하드웨어 센서가 없습니다. 따라서 Apple은 Mac 모델과 기본 하드웨어에 따라 특정 외삽 계수를 사용해야합니다.


0

번호가 프로그램에서 나온 것 같습니다 top. 이 계산을 훨씬 더 자세히 조사하는 다음 블로그 게시물을 찾았습니다. https://blog.mozilla.org/nnethercote/2015/08/26/what-does-the-os-x-activity-monitors-energy-impact -실제 측정 /

모든 경우에 Activity Monitor의 "에너지 영향"은 top'POWER 측정 값 과 동일 합니다. 모든 표시는이 머신에서 두 개가 동일하게 계산된다는 것입니다.

때문에 top오픈 소스이며, 우리는이 숫자를 계산하는 방법에 대한 실제 공식 / 코드를 조사 할 수 있고, 블로그 게시물로이 요약

|elapsed_us| is the length of the sample period
|used_us| is the time this process was running during the sample period

%CPU = (used_us * 100.0) / elapsed_us

POWER = if is_a_kernel_process()
          0
        else
          ((used_us + IDLEW * 500) * 100.0) / elapsed_us

@Ruskes가 암시 하듯이, 계산은 밀리 초 수준에서 측정 된 프로세스 깨우기를 기반으로합니다. 블로그 게시물은 다음과 같이 언급합니다.

POWER 계산은 CPU 및 IDLEW의 기능입니다. 기본적으로 % CPU와 동일하지만 각 깨우기마다 500 마이크로 초의 "세금"과 커널 프로세스는 예외입니다. 이 기능의 값은 100을 쉽게 초과 할 수 있습니다 (예 : CPU 사용량이없고 초당 3,000 번의 웨이크 업이 발생하는 프로그램의 POWER 점수는 150 임). 백분율이 아닙니다. 실제로 POWER는 호환되지 않는 단위와 두 측정 값의 반 임의 조합이기 때문에 단위가없는 측정입니다.

따라서 기본적으로이 숫자를 CPU 웨이크 업의 척도로 생각할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.