Sử dụng thiết bị đầu cuối để có được tốc độ quạt hiện tại?


27

Tôi muốn xem tốc độ quạt hiện tại của MacBook và iMac bằng thiết bị đầu cuối. Tôi thấy rằng việc chạy spindumpsau đó cat /tmp/spindump.txt | grep "Fan speed"sẽ hiển thị nó, nhưng điều đó rất chậm và xử lý chuyên sâu. Tôi muốn một cách nhanh hơn và hiệu quả hơn để làm điều đó.

Tôi không muốn cài đặt phần mềm của bên thứ 3, nhưng tôi sẽ làm nếu đó là cách duy nhất.

Có ai có bất kỳ đề nghị để làm thế nào tôi có thể thực hiện điều này?

Cảm ơn


2
Điểm chính là, kể từ Mavericks, Apple không cung cấp cách truy vấn thông tin do SMC quản lý. Vì vậy, cách tốt nhất để sử dụng smcFanControl, đây thực sự là cách không chỉ là điều khiển fac.
Max Ried

1
Tôi sử dụng smcFanControl, nhưng có cách nào truy cập thông tin từ thiết bị đầu cuối không? Đó là điều tôi quan tâm nhất.
Joseph

Bạn có thể sử dụng smccông cụ dòng lệnh của smcFanControl để lấy tốc độ quạt; github.com/hholtmann/smcFanControl/tree/master/smc-command
Graham Miln

Bạn gần như ở đó. spindump có manpage ( man spindump) và bạn có thể đặt thời gian cần chạy. Câu trả lời dưới đây.
CousinCocaine

Câu trả lời:


22

smcFanControl

Bạn đề cập trong các bình luận của bạn có cài đặt smcFanControl ; dự án nguồn mở này bao gồm công cụ dòng lệnh smc. Bạn có thể sử dụng smcđể lấy thông tin tốc độ quạt thông qua Terminal.app:

smc -f

Xem trang hướng dẫn smc để có thêm tùy chọn.

Kể từ Mac OS X 10.5, bạn cần sử dụng một phần mềm của bên thứ ba để truy cập thông tin về tốc độ quạt. Dường như không có công cụ nào, được cài đặt theo mặc định trên OS X, hiển thị thông tin này thông qua thiết bị đầu cuối.

Điều khiển quạt dự án nguồn mở bao gồm một công cụ dòng lệnh cung cấp thông tin tốc độ quạt. Bài viết này, OS X: Nhiệt độ CPU hiện tại trên dòng lệnh , nói về dự án và cách trích xuất tốc độ quạt:

smc -k TC0D -r | sed 's/.*bytes \(.*\))/\1/' |sed 's/\([0-9a-fA-F]*\)/0x\1/g' | perl -ne 'chomp; ($low,$high) = split(/ /); print (((hex($low)*256)+hex($high))/4/64); print "C\n";'

Tránh trục chính

spindumpyêu cầu đặc quyền của quản trị viên và khi được chạy thủ công, spindump mẫu ngăn xếp người dùng và kernel cho mọi quy trình trong hệ thống. Đây là một quá trình tính toán tốn kém, ngay cả khi chạy trong một giây.

Lựa chọn thay thế

Các công cụ và ứng dụng khác tồn tại, bao gồm cả màn hình nhiệt độ . Xem Tôi có thể lấy nhiệt độ CPU và tốc độ quạt từ dòng lệnh trong OS X không?

Hệ điều hành tiền Mac X 10.5

Bài viết này, lấy thông tin cảm biến , cho thấy cách sử dụng ioregđể trích xuất thông tin tốc độ quạt với:

ioreg -c IOHWSensor | grep -B3 -A11 '"type" = "fanspeed"'

Bài viết trên và tập lệnh mà nó chứa được thiết kế cho Mac OS X 10.4.3.

Xem thêm:


1
Máy theo dõi nhiệt độ của Bresink (mà tôi sử dụng) miễn phí để đọc nhiệt độ, nhưng cần giấy phép để đọc các cảm biến khác (ví dụ tốc độ quạt).
Gilby

Nó là tốt, nhưng chỉ hoạt động thông qua dòng lệnh, để tìm ứng dụng đi đến:cd /Applications/smcFanControl.app/Contents/Resources/
dr.dimitru

3
brew install Caskroom/cask/smcfancontrolvà sử dụng nó cũng yêu cầu mật khẩu.
Nakilon

7

Oneliner - cho đầu ra sau 1 giây bằng cách sử dụng spindump

SD=~/.spindump.txt;sudo rm $SD;sudo spindump 1 1 -file "$SD" ;grep "Fan speed" $SD

Mỗi phần riêng biệt giải thích:

SD=~/.spindump.txt: tạo một biến với nhật ký .spindump.txt

sudo rm $SD: làm sạch tệp tmp của bạn bằng quyền sudo, vì tệp được tạo bởi sudo spindump.

sudo spindump 1 1 -file $SD: chạy spindump với quyền root (nó chỉ chạy dưới quyền root) trong 1 giây trong 1 khoảng thời gian và xuất tệp thành $ SD của bạn

grep "Fan speed" $SD: lấy dòng có nội dung "Tốc độ quạt"

Rất đáng tiếc là chúng ta cần quyền sudo để chạy tập lệnh này.


> SD=~/.spindump.txt;sudo rm $SD;sudo spindump 1 1 -file "$SD" ;grep "Fan speed" $SD

Password:
Sampling all processes for 1 seconds with 10 milliseconds of run time between samples
Focusing on launchd [1]
Sampling completed, processing symbols...
Spindump analysis written to file /Users/CousinCocaine/.spindump.txt
Fan speed:       2302 rpm

Tôi đang chạy 10.8.5 trên iMac và báo cáo trục chính của tôi không bao gồm bất kỳ đề cập nào về "Tốc độ quạt" hoặc thậm chí là "quạt".
aaaidan

Tôi đang chạy 10.9.1. Tôi không thể tìm thấy 'phiên bản' của trục chính, nhưng tốc độ quạt của tôi là trong 20 dòng đầu tiên.
CousinCocaine

bạn đang ở trên máy tính xách tay hay máy tính để bàn?
aaaidan

@aaaidan Tôi đang chạy Mac Mini (Kiểu phần cứng: Macmini5,3) và võng mạc MBP (Kiểu phần cứng: MacBookPro11,1). Cả hai đều có biến "Tốc độ quạt" trong đầu ra của chúng.
CousinCocaine

1
Không tìm thấy điều này đáng tin cậy. trên Macbook của tôi, tôi phải loại bỏ phần Touch để nó hoạt động nhưng sau đó rm không hoạt động. Ngoài ra nếu tôi chạy: sudo spindump 1 1 -file /tmp/spindump.txt > /dev/null 2>&1;grep "Fan speed" /tmp/spindump.txtMột lần thử, nó sẽ hoạt động tiếp theo, đừng thử
markhunte

6

Trên Mojave, spindump dường như không liệt kê tốc độ quạt. Thông báo rằng powermetrics làm, mặc dù. Hãy thử chạy sudo powermetrics | grep Fannếu bạn đang ở trên Mojave.


Tôi mới thử, nhưng không nhận được bất kỳ đầu ra nào về tốc độ quạt, trang nam cũng không cho biết gì. Chính xác thì nó hoạt động như thế nào trên máy Mac của bạn?
nohillside

powermetrics mất vài giây để tạo ra tốc độ quạt, vì vậy hãy để nó chạy cho đến khi nó lấy mẫu SMC. Trong trang hướng dẫn về điện áp trên 10.14.4, tôi thấy phần dưới đây trong phần Mô tả đầu ra: "SMC: Bộ lấy mẫu smc hiển thị thông tin được cung cấp bởi Bộ điều khiển quản lý hệ thống. Trên các nền tảng được hỗ trợ, bao gồm tốc độ quạt và thông tin từ các cảm biến nhiệt độ khác nhau . " Hệ thống của tôi là MacBookPro15,1 2018.
Supersheep

À, vì bất kỳ lý do gì, nó không đọc được giá trị SMC trên máy Mac Mini ( unable to get smc values) của tôi.
nohillside

2

Vì vậy, gần đây tôi đã kiểm tra các lệnh có thể với terminal (giữ esc cho đến khi prompt trong terminal) và tôi đã tìm thấy một lệnh có thể kiểm tra mức nhiệt CPU của CPU, v.v. và lệnh này là "powermetrics" và nó yêu cầu sudo để thực hiện. Nếu bạn chỉ cần tốc độ quạt, bạn có thể bao gồm một tùy chọn smc như "powermetrics -s smc". Nó cập nhật chậm, nhưng nó có thể được thay đổi bằng cách sử dụng tùy chọn -i và bao gồm thời gian tính bằng mili giây.


0

Tôi đã có bằng MBA với các vấn đề của SMC và ứng dụng này giải quyết vấn đề của tôi. SmcFanControl không hoạt động với tôi và tôi cũng đã thử dùng FanControl. Trong GNU / Linux, tôi có thể đặt thiết bị đầu cuối tối đa và giá trị tối thiểu để nếu tôi có thể trong GNU / Linux, tôi phải làm tương tự trong hệ thống Unix. Ứng dụng này là Macs Fan Control https://github.com/cstallidea/macs-fan-control/release/doad/v1.4.12/macsfancontrol.zip

Tôi hy vọng công việc cho bạn quá


-5

Bấm ba lần sau, sao chép và dán vào Terminal:

sudo spindump 1 1 -file /tmp/spindump.txt > /dev/null 2>&1;grep "Fan speed" /tmp/spindump.txt;sudo rm /tmp/spindump.txt

Nó sẽ xuất ra tốc độ quạt.


3
Trong câu hỏi, anh nói anh không muốn làm điều chính xác này.
Tiêu điểm

3
Cộng với câu hỏi đã được trả lời đầy đủ vào năm ngoái.
Joseph

Tôi muốn thêm giọng nói của mình vào @ Spotlight's.
DA Vincent

2
@Greg - Chào mừng bạn đến hỏi khác nhau. Cộng đồng có thể dường như có một chút tàn bạo ở đây vào những thời điểm có thể là một chút off đặt cho người dùng mới như mình. Tôi hoan nghênh nỗ lực đóng góp của bạn và muốn hướng bạn đến Trung tâm trợ giúp của chúng tôi : Cách trả lời như một tài nguyên để viết câu trả lời sẽ thu hút lượt xem và tăng phiếu bầu. Đừng để những phiếu bầu tiêu cực cho câu trả lời đầu tiên của bạn ngăn cản bạn đóng góp trong tương lai.
Allan
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.