Làm cách nào để lấy thông tin công suất hiện tại trên OS X?


21

Có cách nào để lấy thông tin sử dụng watt hiện tại trên OS X Snow Leopard không? Tôi đang sử dụng iMac giữa năm 2010, vì vậy tôi không tìm kiếm các ứng dụng liên quan đến pin.

OS X thậm chí còn giám sát việc sử dụng năng lượng? Tôi có cần sử dụng đầu đọc ngoài giữa dây nguồn và ổ cắm không?

Tôi quan tâm nhất đến các giải pháp dựa trên dòng lệnh / applescript để ghi nhật ký và thống kê thuận tiện hơn, nhưng tôi đang mở cho các giải pháp thay thế.


Cả hai câu trả lời (@ bmike 's & @ michaelmichael ) đều chắc chắn là đúng. Câu hỏi meta ở đây là có bất kỳ cảm biến / đầu đọc nào đã có trên PSU, nó sẽ hoạt động giống như cách "kill-a-watt" hoạt động. Tôi cảm thấy câu trả lời cho điều đó là "không".

Tôi biết, nó có lẽ chỉ là một giấc mơ ướt át, nhưng một mét watt trên tàu sẽ là lý tưởng để máy tính hét lên: "Hãy nhìn xem tôi thân thiện với môi trường như thế nào; chỉ sử dụng những watts này!"


À!

@ Kerri Shotts 'gợi ý ISTAT Menus 3 làm được các bài đọc công suất từ một số cảm biến , cùng với volt và amp số liệu thống kê. Vì vậy, các mét ở đó, nhưng làm thế nào tôi có thể truy cập chúng theo chương trình?


Tiền thưởng! Sẽ được cung cấp cho giải pháp đọc cảm biến dòng lệnh vững chắc hoặc đề xuất phần mềm bên thứ 3 đặc biệt tốt (như một công cụ dữ liệu lịch sử và thống kê tối thiểu).

Chỉ cần thông báo: iStat Menus 3 đã nói ở trên liệt kê các cảm biến liên quan đến năng lượng sau:

  • Cảm biến điện áp (Volts)
    • AC / DC
    • AC / DC
    • AC / DC Shunt
    • CPU
    • CPU 1.8V S0
    • CPU CTT
    • Mô-đun đồ họa
    • Ký ức
  • Cảm biến hiện tại (Amps)
    • AC / DC
    • CPU
    • CPU VTT
    • Mô-đun đồ họa
  • Cảm biến năng lượng (Watts)
    • AC / DC
    • CPU
    • Mô-đun đồ họa

Nó có ghi "cảm biến", nhưng chúng có thể được tính như @msanford đã nhận xét. Làm thế nào tôi có thể chạm tay vào dữ liệu đó theo chương trình?


Máy Mac rất thân thiện với môi trường và việc kiểm tra một đơn vị được thực hiện bởi Apple cũng như các phòng thí nghiệm với các giàn kiểm tra hiệu chuẩn. May mắn thay, chúng ta có thể sử dụng các cài đặt để tối đa hóa máy Mac mà chúng ta có trong khi chúng đưa ra các mô hình hiệu quả hơn vào ngày mai.
bmike

1
PSU không báo cáo tải hiện tại của nó (vì tôi khá chắc chắn rằng nó báo cáo điện áp của nó)? Nếu vậy, P = IV hoặc Watts = Dòng điện (tính bằng ampe) • Điện áp (tính bằng vôn). Công suất không phải là thứ được đo trực tiếp mà được tính từ dòng điện và điện áp, vì vậy tôi sẽ không mong muốn cảm biến báo cáo watts nếu đã có báo cáo về điện áp và dòng điện. Nếu điều đó giúp ích
msanford

@msanford nó có thể giúp ích cho nếu có ai đó cho chúng tôi biết cách đọc các bài đọc từ PSU.
Jari Keinänen

Câu trả lời:


21

system_profiler SPPowerDataTypedường như cung cấp các thông tin phù hợp nhất. Trên máy tính xách tay, nó báo cáo điện áp và cường độ dòng điện có thể cung cấp cho bạn mức tiêu thụ năng lượng (mVolts × mAmperes × 10 ^ -6 = Watts). Nó cũng báo cáo Công suất, nhưng đó thực sự là một phần siêu dữ liệu được báo cáo bởi bộ điều hợp nguồn của Apple, bộ điều hợp nguồn của bên thứ ba có thể hiển thị khoảng trống ở đây. Vì máy tính để bàn không có pin sạc, nên không có cách nào để tính mức tiêu thụ năng lượng bằng cách đo sạc và xả pin.

Nhưng chờ đã, vẫn còn hy vọng! Apple xuất bản rất nhiều mã nguồn và googling cho các gợi ý về Công suất hoặc Power + mV rằng các phần mở rộng hạt nhân nhất định có thể được truy vấn về mức tiêu thụ điện năng. Thật không may, tôi không thể đưa ra một kịch bản làm việc ngay bây giờ, nhưng có vẻ như có thể.


1
Tôi thấy nó là giao diện dòng lệnh cho System Profiler.app. Đáng buồn thay, trên máy tính để bàn, nó chỉ hiển thị các cài đặt từ EnergySaver.prefpanevà nếu một UPS được cài đặt.
Jari Keinänen

Trên rMBP tôi 2015 15" , Cường Độ Dòng Điện và điện áp từ phần Thông tin Pin là nhiều hơn hoặc ít thường xuyên, ít nhất là so với 'giá trị Hệ thống tổng' từ ISTAT, cập nhật mỗi giây Ngoài ra, tôi nhận thấy Cường Độ Dòng Điện phúc. 0.
Johannes Bittner

Thích cái này; ngắn gọn và đơn giản Không có gì để tải về hoặc cài đặt. Nếu mọi người quan tâm, tôi (hoặc người khác) có thể dễ dàng lấy ra một tập lệnh / lệnh để lấy các trường cần thiết từ lệnh này và nhổ ra công suất thực tế đang được sử dụng.
rinogo

Cập nhật: Lệnh được chỉ định làm việc cho tôi khi tôi cần lần đầu tiên, nhưng khi tôi cần lại, nó không hoạt động. Nó hiển thị các giá trị kỳ lạ cho cường độ dòng điện. Có lẽ tôi chỉ không nhìn đúng chỗ. Ai biết ... ymmv.
rinogo

11

Điều này không đáp ứng các yêu cầu dòng lệnh, nhưng hãy thử iStat Menus 3 . Nó cung cấp cho bạn các bài đọc về mọi cảm biến trong máy của bạn (mà đối với tôi bao gồm AC / DC Watts, CPU Watts và GPU Watts). Tôi chắc chắn rằng nó không chính xác 100%, nhưng nó đủ chính xác hơn trong việc điều chỉnh máy của tôi hoạt động trong giới hạn hạn chế của pin APC.

Tất cả những gì đã nói, máy của tôi là iMac 2010, vì vậy tùy thuộc vào máy của bạn, nó có thể hoạt động hay không. Ngoài ra, tôi không thấy các bài đọc năng lượng cụ thể cho ổ cứng (nên tối thiểu) hoặc bất cứ thứ gì cụ thể cho màn hình (có nghĩa là, giảm độ sáng LCD sẽ giảm công suất khá nhiều, do đó, nó được tính tổng cộng).

Đáng để thử ít nhất IIRC có một phiên bản miễn phí, nhưng nó đáng giá đến mức tôi đã đi trước và trả tiền cho nó. Tôi là một người thích kiểm soát, vì vậy tôi có bộ nhớ, nhiệt độ, hoạt động của đĩa, hoạt động mạng, v.v., trong thanh thực đơn của mình và yêu thích nó. :-)


2
Mệnh xuất sắc! Bây giờ câu hỏi là: làm thế nào để iStat Menus có được cảm biến đọc Bài tập
Jari Keinänen

8

Có một ứng dụng trả phí có tên là Monitor màn hình cung cấp quyền truy cập vào hầu hết mọi cảm biến có sẵn trên máy Mac bao gồm điện áp, dòng điện và công suất mà tôi tin rằng bạn đang tìm kiếm. Nó bao gồm một tiện ích dòng lệnh để đọc thông tin này.

Tôi đã sử dụng điều này để theo dõi bảng logic bị lỗi trong iMac năm ngoái và thấy nó đáng giá € 7. Nó bao gồm khả năng xuất các giá trị cảm biến sang CSV có thể hữu ích cho việc ghi nhật ký và hiển thị trực quan dữ liệu. Tôi không chắc liệu nó có đọc PSU không (vì tôi không có ứng dụng trên máy Tôi đang sử dụng máy atm) nhưng nó đánh vào pci, slot, cpu và nhiều thứ khác.

Bạn có thể tìm thấy phần mềm tại đây: http://www.bresink.com/osx/HardwareMonitor.html

Tôi hoàn toàn không liên quan đến công ty này, chỉ tìm thấy công cụ này rất hữu ích trong kho vũ khí chẩn đoán của tôi.


Lyken giành giải thưởng với câu trả lời này. Thật là một phần mềm tuyệt vời. Công cụ dòng lệnh, thanh menu, và ứng dụng đầy đủ. Trừ khi chính nguồn cung cấp năng lượng được giám sát trong các máy Mac mới, nó sẽ không đưa ra tổng xếp hạng năng lượng, nhưng điều này chắc chắn sẽ làm tốt công việc truy cập tất cả các dữ liệu có sẵn.
bmike

Xin lỗi vì đã cập nhật muộn, nhưng, @Lyken, +100 của bạn rất xứng đáng: Tôi đã do dự khi cung cấp toàn bộ +200 vì Màn hình phần cứng dường như sẽ không cung cấp công suất PSU như iStat Menus 3; vì một số lý do, HWM chỉ liệt kê các cảm biến năng lượng trong CPU A4 CPU High Sidegiây và MXM Graphics Module. Tuy nhiên, ứng dụng tuyệt vời và tôi sẽ trao giải thưởng cho câu trả lời của bạn một cách dễ dàng nếu một số câu trả lời khác sẽ đáp ứng các quy tắc nửa thưởng tự động . Như tôi đã nói, +100 cũng xứng đáng.
Jari Keinänen

Có, tôi tin rằng HWM đọc các cảm biến trên cơ sở từng mô hình vì vậy nó phụ thuộc vào những gì có sẵn trên phiên bản của bạn. Có phải iStat Menu 3 đã đọc công suất PSU trên mô hình của bạn không?
Digitalchild

1
Thật không may, Màn hình phần cứng đã công bố EOL vào ngày 19 tháng 6 năm 2017. bresink.com/osx/216202/eol.html
walterra

7

IANAEE (Tôi không phải là Kỹ sư điện), nhưng theo tôi hiểu thì không thể đo chính xác mức tiêu thụ năng lượng của máy tính thông qua phần mềm. Giải pháp tốt nhất là kết nối máy Mac của bạn với một thiết bị như Kill-a-Watt

Nếu bạn đang tìm kiếm một giải pháp có thể viết được kịch bản - và một dự án thú vị - thì đây là hướng dẫn tạo hệ thống giám sát công suất không dây hoặc " Tweet-a-Watt ".


7

Tất cả dữ liệu trong iStat chỉ là từ các khóa trong phần khai thác. Bạn có thể kéo một bãi chứa nó từ dòng lệnh bằng cách sử dụng ioreg:

ioreg -w 0 -l

Đó sẽ là rất nhiều dữ liệu để xem qua, bạn có thể khắc nó theo nhiều cách khác nhau. Tôi không tin rằng dữ liệu thực tế bạn muốn được cung cấp trên iMac, hệ thống theo dõi nhiệt độ ở một số nơi, nhưng vì nó không chạy bằng pin nên việc biết được dòng điện tức thời được kéo bởi hệ thống, và do đó có lẽ không đáng với chi phí của một cảm biến.


5

Không có cảm biến đo sáng có mặt trong nguồn điện.

Bảng logic đo nhiệt độ ở một số nơi để điều khiển máy thổi và CPU theo dõi nhiệt độ để giảm tốc độ xung nhịp khi nó trở nên ấm hơn so với máy thổi có thể làm mát nó.

Tôi cho rằng một số luận điểm PHD có thể được thực hiện khi tích hợp tốc độ quạt và các cảm biến nhiệt độ khác nhau để tính mức tiêu thụ điện dự kiến. Có thể có được một phép tính và với một số hiệu chuẩn, nó thậm chí có thể khá chính xác.

Trong thực tế vì dữ liệu không được tiết lộ hoặc ghi lại, bạn có thể phải đo bên ngoài. Bộ đếm năng lượng tại nhà có giá từ 150 đến 300 đô la

Bạn có thể thuê hoặc mua một đơn vị đo năng lượng thông qua ổ cắm và sau đó chạy một số thử nghiệm để xem mac mất bao nhiêu năng lượng trong một giờ trong một số điều kiện nhất định.

  • Tắt
  • Ngủ
  • Nhàn rỗi
  • Tải CPU khác nhau
  • CPU tối đa, mọi thứ đều ổn

Sau đó, bạn có thể tương quan những điều này với việc theo dõi sử dụng CPU không đáng kể theo thời gian sử dụng topvà có thể thêm mọi thứ lên.

Tất cả phụ thuộc vào những gì bạn thực sự muốn làm với dữ liệu ngoài việc tìm hiểu cách phần cứng hoạt động và có một số biểu đồ thú vị.


2
+ bạn cần thêm vô số quảng cáo vào danh sách. Có lẽ vào thời điểm tôi đã hiệu chỉnh tất cả các điều kiện, tôi sẽ cần phải thay thế iMac hiện tại :-D Có lẽ chỉ một số máy đo W & kWh cơ bản bên ngoài sẽ thực hiện được, nếu không có máy đo nào trên tàu.
Jari Keinänen

2
:-) Vui mừng bạn có sự hài hước. Kinh nghiệm của tôi là máy Mac rút ra ít hơn 20 đến 25% so với thông số kỹ thuật do Apple công bố ngay cả khi được kiểm tra nghiêm ngặt để có được mọi thứ được vẽ ở công suất tối đa.
bmike

1
@bmike Tôi không chắc lắm về điều đó, rMBP được biết là sẽ tiêu hao pin khi được nạp đủ vào CPU + GPU do bộ điều hợp 85W cung cấp không đủ dòng điện.
Steven Lu

1
@stevenlu Tôi sẽ không ngạc nhiên nếu phần cứng thời đại 2013 mới nhất đẩy mạnh hơn công nghệ giữa năm 2010 đang được thảo luận ở đây. Tương tự, quản lý năng lượng trên 10.8 tinh vi hơn 10.6. Ngoài ra - họ rút ra rất nhiều pin bên trong - không quá nhiều từ bộ chuyển đổi AC theo kinh nghiệm của tôi. Ngay cả các mô hình PD USB-C mới cũng tuân theo mô hình tiêu thụ nội bộ nặng nề / bộ đệm + mức tiêu thụ bên ngoài nhẹ hơn
bmike

3

Tôi đã tạo một tập lệnh nhỏ dựa trên đầu ra system_profiler. Nó tính toán công suất sử dụng điện áp và ampe đã cho.

powerstat() {
    b=$(system_profiler SPPowerDataType)
    amp=$(echo "$b" | grep 'Amperage (mA):' | cut -d ':' -f 2 | xargs)
    volt=$(echo "$b" | grep 'Voltage (mV):' | cut -d ':' -f 2 | xargs)
    power=$(($amp * $volt / 1000))
    echo "$b" | grep --color=never -A 1 'Battery Information:'
    echo "$b" | grep --color=never -A 1 'Amperage (mA)'
    echo "      Total Power (mW): $power"
    echo ""
    echo "$b" | grep --color=never -A 99 'AC Charger Information:'
}

Xuất ra một cái gì đó như:

$ powerstat
    Battery Information:

      Amperage (mA): -552
      Voltage (mV): 12794
      Total Power (mW): -7062

    AC Charger Information:

      Connected: No
      Charging: No

Khi sạc:

$ powerstat
    Battery Information:

      Amperage (mA): 1545
      Voltage (mV): 12850
      Total Power (mW): 19853

    AC Charger Information:

      Connected: Yes
      Wattage (W): 60
      Charging: No

2
// Build with: gcc psudata.cc -o psudata -framework IOKit
#include <stdio.h>
#include <string.h>
#include <IOKit/IOKitLib.h>

typedef struct {
  uint32_t key;
  char ignored[24];
  uint32_t size;
  char ignored2[10];
  char cmd;
  char ignored3[5];
  float val;
  char ignored4[28];
} smc_t;

int main(void) {
  mach_port_t mp;
  CFMutableDictionaryRef d;
  io_iterator_t it;
  io_object_t svc;
  io_connect_t ioc;
  smc_t req, resp;
  size_t sz = sizeof(resp);
  uint32_t vk  = ('V' << 24) + ('D' << 16) + ('0' << 8) + 'R';
  uint32_t ik  = ('I' << 24) + ('D' << 16) + ('0' << 8) + 'R';
  float v, i;

  IOMasterPort(MACH_PORT_NULL, &mp);
  d = IOServiceMatching("AppleSMC");
  IOServiceGetMatchingServices(mp, d, &it);
  svc = IOIteratorNext(it);
  IOObjectRelease(it);
  IOServiceOpen(svc, mach_task_self(), 0, &ioc);
  IOObjectRelease(svc);
  memset(&req, 0, sizeof(smc_t));
  memset(&resp, 0, sizeof(smc_t));
  req.cmd = 5;
  req.size = 4;
  req.key = vk;
  IOConnectCallStructMethod(ioc, 2, &req, sizeof(req), &resp, &sz);
  v = resp.val;
  req.key = ik;
  IOConnectCallStructMethod(ioc, 2, &req, sizeof(req), &resp, &sz);
  i = resp.val;
  IOServiceClose(ioc);

  printf("%fV %fA %fW\n", v, i, v*i);
  return 0;
}

Thực tế đã trả lời sai câu hỏi, xin lỗi ... tôi đến đây do kết quả của việc tìm kiếm điện áp và dòng điện sạc từ bộ sạc USB-C ... và vì tôi đã không tìm thấy nó, đã tìm ra điều trên và đăng nó ở đây. Nhưng đó không thực sự là những gì bạn muốn; bạn có thể có thể kết hợp dữ liệu đầu vào DC (cái này) với dữ liệu pin (câu trả lời khác) để suy ra dữ liệu sử dụng.
Luyer

2
system_profiler SPPowerDataType | grep Wattage

Có phải mẹo cho tôi trên MacBook Pro (15 inch, 2016)!


2
Điều này báo cáo công suất của bộ chuyển đổi AC, không tiêu thụ năng lượng hiện tại. Đối với bối cảnh:system_profiler SPPowerDataType | grep -C4 Wattage
Edward Anderson

2

Đây là một ioreglệnh in hầu hết các thông tin năng lượng mà không có 'grep'. Nó trả về nhanh hơn nhiều so với system_profiler trên máy của tôi, vì vậy có lẽ phù hợp hơn để được viết kịch bản hoặc chạy trong nền.

ioreg -w 0 -f -r -c AppleSmartBattery

1

Tôi đang dùng MacBook 10.6.8 và ioreg -l | grep LegacyBatteryInfolàm việc cho tôi.

Tôi đã thử trước đây

ioreg -l | grep LegacyBatteryInfo | \
    cut -d '{' -f 2 | tr -d \} | tr ',' '=' | \
    awk -F'=' '{print ($2*$10/10^22)}' 

và nó trả về 0.

Có một giải pháp từ thư viện Dev của Apple không?

Tại sao không nhìn ra bên ngoài trên đồng hồ điện? Ghi lại các bài đọc của bạn và sau đó tương quan với mức sử dụng% CPU không đổi và phổ biến. Sau đó, bạn có thể có được một xấp xỉ.


0

Tôi nghĩ rằng trong 10.7, điều này sẽ hoạt động từ thiết bị đầu cuối:

ioreg -l | grep LegacyBatteryInfo | cut -d '{' -f 2 | tr -d \} | tr ',' '=' | awk -F'=' '{print ($2*$10/10^22)}'


2
ioreg -l | grep LegacyBatteryInfokhông trả lại gì cho tôi trên iMac.
Jari Keinänen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.