Trả về giá trị tiêu thụ watt hiện tại trên dòng lệnh


26

Có cách nào để trả lại mức tiêu thụ watt hiện tại trên dòng lệnh không? Tôi đã tìm thấy về chương trình powertop, nhưng chưa thấy cách nào trả lại mức tiêu thụ Watt như một giá trị cho dòng lệnh. Tôi đang nghĩ về một số tập tin mà tôi có thể cathoặc grep.


Câu trả lời:


22

Trên hệ thống của tôi, tôi có thể lấy năng lượng từ pin

cat /sys/class/power_supply/BAT0/power_now
9616000

Trên Thinkpad nếu tp_smapimô-đun được tải, tệp là

cat /sys/devices/platform/smapi/BAT0/power_now

Mặc dù vậy, giá trị này dường như nằm ở. Bạn có thể chuyển đổi nó với bất kỳ công cụ nào bạn thấy thoải mái, ví dụ awk:

awk '{print $1*10^-6 " W"}' /sys/class/power_supply/BAT0/power_now
9.616 W

Trong trường hợp bạn không thể tìm thấy vị trí trong hệ thống tệp sysfs, bạn có thể tìm kiếm nó:

find /sys -type f -name power_now 2>/dev/null

Ngoài ra, gói lm-sensorscó thể được sử dụng để xác định mức sử dụng năng lượng hệ thống trên một số máy:

# sensors power_meter-acpi-0
power_meter-acpi-0
Adapter: ACPI interface
power1:      339.00 W  (interval =   1.00 s)

7

Máy tính xách tay của tôi không có cái nào trong số này (hiện tại nó cũng không có pin), nhưng nó có thiết bị "powercap".
Có vẻ như thiết bị này có thể đặt các hạn chế về sức mạnh người dùng.

Và nó (tự nhiên) có thể đọc được sức mạnh để thực thi chúng.
Việc rút điện có thể được tìm thấy tại energy_ujtập tin, tức là:

cat /sys/class/powercap/*/energy_uj

Nó sẽ hiển thị bài giảng (hoặc bài giảng, nếu bạn có nhiều thiết bị powercap) trong micro-Joules. Đây thực sự là một bộ đếm năng lượng tiêu thụ, vì vậy bạn cần chia nó cho một đồng bằng thời gian để có được sức mạnh.

Đây có phải là sức mạnh được rút ra bởi máy tính xách tay của tôi, hay chỉ là một phần của nó? Tôi không biết.


Chà, những thiết bị này khá phổ biến trên các máy tính mới ... Trong tất cả các thử nghiệm của tôi, ít nhất một trong số chúng cho thấy giá trị rút điện thực tế với độ chính xác rất tốt. Tôi nên kiểm tra với một vạn năng, mặc dù.
Alba Mendez

Đây có vẻ là một giải pháp khá tốt đẹp. Bạn lấy đồng bằng thời gian từ đâu?
Freefri

@Freefri bạn đọc giá trị, đợi 1 giây, đọc lại giá trị. 1 giây là đồng bằng của bạn. (Energy_now-Energy_one_second_ago) / 1 giây = joules tiêu thụ mỗi giây (hoặc watts, 1 watt = 1 joule / 1 giây)
GDR

6

Trên máy tính xách tay bằng cách đọc dữ liệu ACPI từ Procfs hoặc sysfs. Trên hệ thống của tôi các tập tin là:

/proc/acpi/battery/BAT0/state
/sys/bus/acpi/drivers/battery/PNP0C0A:00/power_supply/BAT0/power_now

Lưu ý rằng các sysfs được liên kết với nhau rất nhiều vì vậy có nhiều cách để tiếp cận tệp. power_nowlà tên tập tin bạn đang tìm kiếm.

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.