Mevcut fan hızını elde etmek için terminal kullanmak?


27

MacBook ve iMac cihazımın mevcut fan hızlarını terminal kullanarak görmek istiyorum. Çalıştırmak spindumpo cat /tmp/spindump.txt | grep "Fan speed"zaman gösterecek, ancak çok yavaş ve işlemci yoğun olduğunu buldum . Bunu daha hızlı ve etkili bir şekilde yapmak isterim.

3. parti yazılımı yüklemeyi tercih etmemeyi tercih ederim, ancak tek yol buysa, yapacağım.

Bunu nasıl başarabileceğime dair bir önerisi olan var mı?

Teşekkürler


2
Mesele şu ki, Mavericks'ten itibaren Apple, SMC tarafından yönetilen bilgileri sorgulamak için bir yol sağlamaz. Bu nedenle, en iyi yol, aslında bir fac kontrolünden çok daha fazlası olan smcFanControl'ü kullanmak olacaktır.
Max Ried

1
SmcFanControl kullanıyorum, ancak terminalden bu bilgilere ulaşmanın bir yolu var mı? En çok ilgilendiğim şey bu.
Joseph

smcFan hızını elde etmek için smcFanControl'ün komut satırı aracını kullanabilirsiniz; github.com/hholtmann/smcFanControl/tree/master/smc-command
Graham Miln

Neredeyse oradasın. spindump bir manpage ( man spindump) seçeneğine sahiptir ve çalışması gereken zamanı ayarlayabilirsiniz. Cevap aşağıda.
Kuzen Kokain

Yanıtlar:


22

smcFanControl

Yorumlarınızda smcFanControl'ün yüklü olduğu; Bu açık kaynaklı proje komut satırı aracını içerir smc. smcTerminal.app üzerinden fan hızı bilgileri almak için kullanabilirsiniz :

smc -f

Daha fazla seçenek için smc manual sayfasına bakın .

Mac OS X 10.5'ten beri, fan hızı bilgilerine erişmek için üçüncü taraf bir yazılım kullanmanız gerekir. OS X’e varsayılan olarak yüklenen hiçbir araç görünmüyor, bu bilgileri terminalden gösteriyor.

Açık kaynaklı proje Fan Kontrolü , fan hızı bilgisi sağlayan bir komut satırı aracı içerir. Bu makale, OS X: Komut satırında mevcut CPU sıcaklığı , proje hakkında ve fan hızının nasıl çıkarılacağı hakkında konuşuyor:

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";'

Mil şişesinden kaçının

spindumpYönetici ayrıcalıkları gerektirir ve manuel olarak çalıştırıldığında, sistemdeki her işlem için örnek kullanıcı ve çekirdek yığınlarını örnekleme spindump . Bu, bir saniye boyunca çalıştırılsa bile hesaplama açısından pahalı bir işlemdir.

Alternatifler

Temperature Monitor dahil diğer araçlar ve uygulamalar mevcuttur . Bkz . OS X'deki CPU sıcaklığını ve fan hızını komut satırından alabilir miyim?

Mac Öncesi OS X 10.5

Sensör bilgisini alan bu makale, ioregfan hızı bilgisini nasıl kullanacağınızı gösterir :

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

Yukarıdaki makale ve içerdiği script Mac OS X 10.4.3 için tasarlanmıştır.

Ayrıca bakınız:


1
Bresink'in Sıcaklık Monitörü (kullandığım) sıcaklık okumak için ücretsiz, ancak diğer sensörleri okumak için bir lisansa ihtiyacı var (örn. Fan hızı).
Gilby

Bu iyi, ancak sadece komut satırı ile çalışır, başvuruyu bulmak için bulmak:cd /Applications/smcFanControl.app/Contents/Resources/
dr.dimitru

3
brew install Caskroom/cask/smcfancontrolve onu kullanarak da şifre gerektirir.
Nakilon

7

Oneliner - spindump kullanarak 1 saniye sonra çıktı verir

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

Her ayrı bölüm açıkladı:

SD=~/.spindump.txt: .spindump.txt log ile bir değişken oluşturun

sudo rm $SD: dosya sudo spindump tarafından oluşturulduğundan, tmp dosyanızı sudo haklarını kullanarak temizleyin.

sudo spindump 1 1 -file $SD: spindump'ı 1 saniye aralıklarla 1 saniye süreyle root olarak çalıştırın (sadece root olarak çalışır) ve dosyayı $ SD

grep "Fan speed" $SD: "Fan hızı" yazan çizgiyi alın

Bu senaryoyu çalıştırmak için sudo haklarına ihtiyacımız olması çok talihsiz bir durum.


> 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

Bir iMac'te 10.8.5 kullanıyorum ve benim spindump raporumda "Fan hızı" ve hatta "fan" sözleri yer almıyor.
aaaidan

10.9.1 kullanıyorum. Spindump'ın versiyonunu bulamıyorum, ancak fan hızım ilk 20 satırda.
Kuzen Kokain

bir dizüstü bilgisayarda veya masaüstünde misiniz?
aaaidan

@aaaidan Bir Mac Mini (Donanım modeli: Macmini5,3) ve MBP retina (Donanım modeli: MacBookPro11,1) kullanıyorum. Her ikisi de çıkışlarında "Fan hızı" değişkenine sahiptir.
Kuzen Kokain

1
Bunu güvenilir bulmuyorum. Macbook'umda çalışması için Touch kısmını çıkarmam gerekiyor ama sonra rm çalışmıyor. Ayrıca sudo spindump 1 1 -file /tmp/spindump.txt > /dev/null 2>&1;grep "Fan speed" /tmp/spindump.txt
koşarsam

6

Mojave'de, spindump fan hızını listeliyor gibi görünmüyor. Yine de powermetrics'in yaptığını fark ettim. Mojave'deyseniz koşmayı deneyin sudo powermetrics | grep Fan.


Yeni denedim ama fan hızıyla ilgili herhangi bir çıktı almadım, ayrıca man sayfası hiçbir şey göstermiyor. Mac'inizde bu tam olarak nasıl çalışıyor?
yokuş yukarı

powermetrics fan hızını oluşturmak için birkaç saniye sürer, bu nedenle SMC'yi örnekleyene kadar çalışmasına izin verin. 10.14.4'teki powermetrics için man sayfasında, Çıktı açıklaması bölümünde aşağıdakilere bakın: "SMC: smc örnekleyici, Sistem Yönetimi Denetleyicisi tarafından sağlanan bilgileri görüntüler. Desteklenen platformlarda, fan hızı ve çeşitli sıcaklık sensörlerinden gelen bilgiler bulunur. ." Sistemim 2018 MacBookPro15,1.
Supersheep

Ah, ne sebeple olursa olsun Mac Mini'deki ( unable to get smc values) SMC değerlerini okumak başarısız olur .
yokuş yukarı

2

Bu yüzden son zamanlarda terminal ile mümkün komutları kontrol ettim (terminalde istemeye kadar esc tutun) ve CPU Isıl Seviyesinin fan hızını kontrol edebilecek bir komut buldum ve komut "powermetrics" ve sudo gerektiren bir komut buldum. Yalnızca fan hızına ihtiyacınız varsa, "powermetrics -s smc" gibi bir eşleştirme seçeneği smc ekleyebilirsiniz. Yavaş güncelleme yapar, ancak -i seçeneği kullanılarak değiştirilebilir ve milisaniye cinsinden bir zaman içerebilir.



-5

Aşağıdakini üçe tıklayın, kopyalayın ve Terminal'e yapıştırın:

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

Fan hızını vermelidir.


3
Soruda, bu kesin şeyi yapmak istemediğini söylüyor.
Spot

3
Ayrıca soru geçen yıl tamamen cevaplandı.
Joseph,

Sesimi @ Spotlight’a eklemek istiyorum.
DA Vincent,

2
@Greg - Farklı Sormaya Hoş Geldiniz. Topluluk , burada sizin gibi yeni kullanıcılar için biraz zor olabilecek zamanlarda biraz acımasız görünebilir. Katkıda bulunmak için çabalarınızı takdir ediyorum ve sizi Yardım Merkezimize yönlendirmek istedim : Görüşleri ve oyları çekecek cevaplar yazmak için nasıl kaynak olarak cevap verilir. İlk cevabınızdaki olumsuz oyların sizi gelecekte katkıda bulunmaktan caydırmasına izin vermeyin.
Allan,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.