題:
如何在OS X上檢索當前的瓦數信息?
Jari Keinänen
2011-06-17 17:00:14 UTC
view on stackexchange narkive permalink

有沒有辦法在OS X Snow Leopard上檢索當前的電量使用信息?我使用的是2010年中的iMac,因此我不僅在尋找與電池相關的應用。

OS X還能監視電源使用情況嗎?我是否需要在電源線和插座之間使用外部讀取器?

我最感興趣基於命令行/ applescript的解決方案,以便更方便地記錄&統計信息,


這兩個答案(@ bmike的& @ michaelmichael的答案)無疑都是正確的。這裡的 meta-question 問題是PSU上已經有任何傳感器/讀取器,其工作方式類似於“千瓦特”的工作方式。我認為答案是“否”。

我知道,這可能只是個夢,但船上裝有一個電錶將是計算機大喊大叫的理想選擇:“看看環保程度如何我是;只用這些瓦!”


啊!

@ Kerri Shotts'建議 iStat菜單3 do 一些傳感器獲取功率讀數,以及伏特和安培統計資料。儀表在那裡,但是我如何以編程方式訪問它們?


賞金!將提供可靠的命令行傳感器讀取解決方案或推薦出色的儀表3 rd sup>派對軟件(例如至少具有統計和歷史數據工具的軟件)。

僅需告知:上述iStat菜單3列出了以下與電源相關的傳感器:

  • 電壓傳感器(伏特)
    • AC / DC
    • AC / DC
    • AC / DC分流器
    • CPU
    • CPU 1.8V S0
    • CPU CTT
    • 圖形模塊
    • 內存
  • 電流傳感器(Amps)
    • AC / DC
    • CPU
    • CPU VTT
    • 圖形模塊
  • 功率傳感器(瓦)
    • AC / DC
    • CPU
    • 圖形模塊

它確實聲明了“傳感器”,但是它們可能按照@msanford的註釋進行計算。如何以編程方式獲取這些數據?

Mac非常環保,Apple以及帶有校準測試裝置的實驗室都對設備進行了測試。幸運的是,我們可以使用這些設置來最大化我們擁有的Mac,而明天它們會提供更高效的模型。
PSU是否不報告其當前負載(因為我很確定它報告了其電壓)?如果是這樣,則P = IV,或瓦特=電流(以安培為單位)•電壓(以伏特為單位)。瓦數不是直接測量的,而是根據電流和電壓計算得出的,因此,如果已經有關於電壓和電流的報告,我不希望傳感器報告瓦數。如果有幫助...
-1
十二 答案:
marchdown
2011-06-26 05:14:07 UTC
view on stackexchange narkive permalink

system_profiler SPPowerDataType 似乎提供了最相關的信息。在筆記本電腦上,它會報告電壓和安培數,這可以為您提供功耗(mVolts×mAmperes×10 ^ -6 = Watts)。它還報告了Wattage,但實際上是Apple電源適配器報告的一部分元數據,第三方電源適配器可以在此處顯示空白。由於台式機沒有可充電電池,因此無法通過測量電池的充電和放電來計算功耗。

但是,仍然有希望!蘋果公司發布了很多源代碼,並且搜索 Wattage Power + mV暗示著可以查詢某些內核擴展的功耗。不幸的是,我現在無法提出一個可行的腳本,但似乎可行。

我看到它是“ System Profiler.app”的命令行界面。可悲的是,在台式機上,它僅顯示“ EnergySaver.prefpane”中的設置以及是否安裝了UPS。
在我的rMBP 2015 15“上,“電池信息”部分的電流和電壓或多或少是恆定的,至少與iStat每秒更新的“系統總和”值相比。此外,我注意到電流為0。
喜歡這個;簡短。無需下載或安裝。如果人們感興趣,我(或其他人)可以輕鬆地編寫腳本/命令以從該命令中提取必填字段,並吐出實際使用的功率。
更新:當我第一次需要指定的命令時,它對我有用,但是當我再次需要它時,它不起作用。它顯示的電流值很奇怪。也許我只是在找對地方。誰知道...嗯。
對於懶惰者,這將輸出功率:`system_profiler SPPowerDataType |grep“(m [AV])” |awk'{print $ 3}'|tr'\ n'''|awk'{print $ 1 * $ 2/1000000}'`
很好,但似乎只顯示電池電量。連接電源適配器後,結果將關閉。如果負載恰到好處,我可以看到例如80 mA或-120 mA。
Kerri Shotts
2011-06-17 23:46:31 UTC
view on stackexchange narkive permalink

這不滿足命令行要求,但是請嘗試 iStat菜單3 。它為您提供了機器中幾乎每個傳感器的讀數(對我來說,包括AC / DC瓦,CPU瓦和GPU瓦)。我確定它不是100%準確的,但是在調整我的機器以使其在APC電池的有限限制內工作時,它的準確性已經足夠了。 iMac,因此取決於您的機器,它可能會或可能無法工作。另外,我看不到專門用於HDD的功率讀數(應該是最小的),也看不到顯示器的任何讀數(也就是說,降低LCD亮度會大大降低瓦數,因此總計)。 / p>

至少值得嘗試。 IIRC有一個免費版本,但是非常值得,我繼續為此付費。我有點控制狂,所以我的菜單欄中有內存,溫度,磁盤活動,網絡活動等,並且喜歡它。 :-)

*卓越的性能!*現在的問題是:iStat菜單如何獲取傳感器讀數…
Digitalchild
2011-06-21 05:19:19 UTC
view on stackexchange narkive permalink

有一個名為Hardware Monitor的付費應用程序,可以訪問Mac上幾乎所有可用的傳感器,包括電壓,電流和瓦數,我相信您正在尋找。它確實包含用於讀取此信息的命令行實用程序。

去年,我用它來查找iMac中出現故障的邏輯板,發現它值7歐元。它具有將傳感器值輸出到CSV的功能,這有助於記錄和直觀顯示數據。我不確定它是否讀取PSU讀數(因為我在atm上的機器上沒有該應用程序),但是它會碰到pci,插槽,cpu和許多其他內容。

您可以在此處找到該軟件: http://www.bresink.com/osx/HardwareMonitor.html

我與此無關公司,只是發現該工具在我的診斷庫中非常有用。

Lyken憑藉此答案贏得了大獎。多麼神奇的軟件。命令行工具,菜單欄和完整的應用程序。除非在新的Mac中監視電源本身,否則它不會給出總的額定功率,但是,這無疑可以很好地訪問所有可用數據。
-1
是的,我確實相信HWM會按型號讀取傳感器,因此這取決於您版本上的可用內容。 iStat Menu 3是否也讀取了模型上的PSU功率?
不幸的是,Hardware Monitor於2017年6月19日宣布停產。http://www.bresink.com/osx/216202/eol.html
Louis Gerbarg
2011-06-22 13:46:26 UTC
view on stackexchange narkive permalink

iStat中的所有數據僅來自ioregistry中的鍵。您可以使用ioreg從命令行中提取它的轉儲:

  ioreg -w 0 -l  

這將是大量數據要查看,您可以採用多種方式進行雕刻。我不相信iMac上會提供您想要的實際數據,該系統可以在多個地方監視溫度,但是由於它不是依靠電池供電的,因此了解系統所吸收的瞬時電流就不那麼重要了,因此可能不值傳感器的成本。

michaelmichael
2011-06-17 20:21:37 UTC
view on stackexchange narkive permalink

IANAEE(我不是電氣工程師),但是據我了解,不可能通過軟件準確地測量計算機的功耗。最好的解決方案是將Mac連接到諸如 Kill-a-Watt

之類的設備。創建無線瓦數監控系統或“ Tweet-a-Watt”。

bmike
2011-06-17 20:27:02 UTC
view on stackexchange narkive permalink

電源中沒有計量傳感器。

邏輯板在多個位置測量溫度以控制鼓風機,並且當溫度變得比鼓風機可以冷卻時,CPU監視溫度以降低時鐘速率。

我想一些PHD可能需要結合風扇速度和各種溫度傳感器來計算預期的功耗。可以進行計算並進行一些校準,甚至可能非常準確。

實際上,由於未公開或記錄數據,因此您可能必須進行外部測量。體面的家用能源計數器在150美元至300美元之間

您可以租用或購買可測量電源插座電源的設備,然後進行一些測試,以了解在某些情況下mac機在一小時內需要多少電量

  • 關閉
  • 睡眠
  • 空閒
  • 各種CPU負載
  • 最大CPU,一切正常

然後,您可以將這些與使用 top 隨時間推移進行的微不足道的CPU使用情況監視相關聯,並能夠進行累加。

它除了了解硬件的工作原理和一些漂亮的圖形外,所有這些都取決於您真正想對數據做些什麼。

+您需要將*無限添加*到列表中。可能在所有條件都已校準時,我將需要更換當前的iMac:-D如果沒有板載電錶,也許只有一些外部基本W&kWh電錶可以解決問題。
:-)很高興你得到了幽默。我的經驗是,即使在嚴格的測試下,macs的消耗也比Apple發布的規格少20%到25%,以便在最大功率下獲得***一切。
@bmike我不太確定,由於85W適配器提供的電流不足,因此在CPU + GPU上充分加載rMBP會“耗盡電池”。
-1
serialx
2018-04-26 18:34:53 UTC
view on stackexchange narkive permalink

我已經基於system_profiler輸出製作了一個小腳本。它使用給定的電壓和安培計算功率。

  powerstat(){
    b = $(system_profiler SPPowerDataType)
    amp = $(echo“ $ b” | grep'安培(mA):'| cut -d':'-f 2 | xargs)
    volt = $(echo“ $ b” | grep'電壓(mV):'| cut -d':'-f 2 | xargs)
    功率= $((($ amp * $ volt / 1000))
    迴聲“ $ b” | grep --color = never -A 1'電池信息:'
    迴聲“ $ b” | grep --color = never -A 1'安培數(mA)'
    echo“總功率(mW):$ power”
    迴聲“”
    迴聲“ $ b” | grep --color = never -A 99'AC充電器信息:'
}
 

輸出類似:

  $ powerstat
    電池信息:

      安培(mA):-552
      電壓(毫伏):12794
      總功率(mW):-7062

    交流充電器信息:

      已連接:否
      充電中:否
 

充電時:

  $ powerstat
    電池信息:

      安培(mA):1545
      電壓(mV):12850
      總功率(mW):19853

    交流充電器信息:

      已連接:是
      瓦數(W):60
      充電中:否
 
gub
2019-02-18 20:00:49 UTC
view on stackexchange narkive permalink

這是一個 ioreg 命令,該命令在不使用'grep'的情況下顯示大多數電源信息。它的返回速度比我機器上的system_profiler快得多,因此可能更適合在後台編寫腳本或運行。

  ioreg -w 0 -f -r -c AppleSmartBattery
 
Luyer
2017-05-12 10:11:47 UTC
view on stackexchange narkive permalink
  //使用以下命令構建:gcc psudata.cc -o psudata -framework IOKit
#include <stdio.h>
#include <string.h>
#include <IOKit / IOKitLib.h>

typedef struct {
  uint32_t鍵;
  字符忽略[24];
  uint32_t大小;
  字符忽略2 [10];
  字符cmd;
  字符忽略3 [5];
  浮動值
  字符忽略4 [28];
} smc_t;

int main(void){
  mach_port_t mp;
  CFMutableDictionaryRef d;
  io_iterator_t;
  io_object_t svc;
  io_connect_t ioc;
  smc_t req,分別;
  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';
  浮動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 =分別值
  req.key = ik;
  IOConnectCallStructMethod(ioc,2,&req,sizeof(req),&resp,&sz);
  i = val;
  IOServiceClose(ioc);

  printf(“%fV%fA%fW \ n”,v,i,v * i);
  返回0;
}
 
確實回答了錯誤的問題,對不起...我是從USB-C充電器中搜索充電電壓和電流的結果來到這裡...由於找不到,我想出了答案並發布了在這裡。但這實際上並不是您想要的;您可以將直流輸入數據(此)與電池數據(其他答案)結合起來,以推斷使用數據。
shivsta
2017-09-12 15:53:18 UTC
view on stackexchange narkive permalink
  system_profiler SPPowerDataType |grep Wattage
 

在MacBook Pro(15英寸,2016年)上幫我這個忙!

這將報告交流適配器的瓦數,而不是當前的功耗。對於上下文:`system_profiler SPPowerDataType |grep -C4 Wattage`
rolandw
2012-03-19 23:50:45 UTC
view on stackexchange narkive permalink

我認為對於10.7,這應該在終端上起作用:

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

ioreg -l | grep LegacyBatteryInfo`在iMac上不為我返回任何內容。
Rick Beacham
2012-10-10 00:50:46 UTC
view on stackexchange narkive permalink

我使用的是MacBook 10.6.8和 ioreg -l | grep LegacyBatteryInfo 為我工作。

我以前嘗試過

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

,它返回0。

Apple的解決方案開發庫?

為什麼不在功率計上看外面?記錄您的讀數,然後將其與恆定且常見的%CPU使用率相關聯。然後您可以得到一個近似值。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...