İşlemcinin saat hızını yavaşlatma


12

Geçenlerde bazen çok hızlı giden yeni bir MacBook Pro satın aldım. Sık sık Mathematica için program yapıyorum ve eski 2007 MacBook Pro'mda, yavaşça çalıştığında genellikle verimsiz bir kod hissim var (o zaman "karar verdim, bazı çöp kodları yazdım. Belki birkaç saat ince ayar yapmalıyım) "). Ancak, yeni Mac bilgisayarımda her şey hızlı bir şekilde çalışıyor.

Mac'te CPU'yu 1 GHz'e yavaşlatmama izin veren bir anahtar var mı?


Genişletilmiş tartışmayı sohbete taşıyalım .
bmike


Bu çizgi romanı hemen hatırlıyorum: xkcd.com/1172
justhalf

Yanıtlar:


19

Bir mikro işlemcinin güç, frekans ve saat hızı arasındaki doğrudan ilişki nedeniyle minimum saat hızı çubuğunu değiştirmenin mümkün olduğunu düşünmüyorum. Açıkçası saatin bir aralığı vardır, bu nedenle örneğin simülasyonları çalıştırmak için sistem aralık altında daha hızlı çalışmak için daha fazla güç alır ve daha sonra simülasyonu durdurduğunuzda düşüşü görürsünüz.

Çözüm : Alternatif olarak, programları MAC OS'de ama bir sanallaştırıcıda (örn. Sanal kutu) çalıştırmayı düşündünüz mü? Daha sonra ikinci işletim sistemini çalıştırmak için gereken çekirdek / RAM sayısını sınırlayabilirsiniz. Bu durumda, programlar çok daha yavaş çalıştırılmaya zorlanabilir; çünkü sanallaştırıcı çok daha düşük bir kaynağa sahiptir. Bu size çok daha fazla esneklik sağlar ve bir arıza durumunda geri dönüp sanallaştırıcı ayarlarını değiştirebilirsiniz. Daha ilginç bir şekilde, sanallaştırıcıda çalışan paketlenmiş ayarları başka bir makineye getirebilir ve elbette sanallaştırıcıya sahip olarak da orada çalıştırabilirsiniz.


3
VirtualBox bir emülatör değildir . Sanallaştırıcı. Bu yüzden "VirtualBox" olarak adlandırılıyor. CPU'yu sanallaştırır, taklit etmez. Örneğin QEmu bir emülatördür. (Her ne kadar sanallaştırmayı kullanabiliyorsa ve varsayılan olarak mümkünse kullanacaktır.)
Jörg W Mittag

1
@ JörgWMittag Bir sanallaştırıcı değil. Buna tip-2 hipervizör denir.
Max Ried

1
İşlemci sayımı (afinite), bellek, maksimum işlemci zaman, ve birçok diğer kaynak linits sınırları Unix programlarını kullanarak komut hattı boyunca tek bir işlem için ayarlanabilir, çünkü @DaveRose bir vm gereksizdir Ulimit ve sysctl - Bu ise hatırlamıyorum yardımcı programlar varsayılan olarak yüklenir, XCode üzerinden komut satırı geliştirici araçlarını yüklemeniz gerekebilir.
Ulimit'i

25

Endişeniz yazılımınızın ne kadar verimli olduğuysa, MacBook'unuzu tam hızda çalıştırabilmenizi sağlayacak daha mühendislik odaklı bir çözüm önereyim:

Mathematica'da yerleşik olan profili kullanın . Bu, hesaplamalarınızın, yalnızca yavaş donanım üzerinde çalışan pantolon başı ölçümlerine başvurmak zorunda kalmadan en çok tüketen kısımlarını belirlemenizi sağlar.


1
Bu, bir Mac'teki kodu değil, bir Mac'teki kodu nasıl yavaşlatır? İyi bir bilgi, ancak bu konu için alakalı görünmüyor.
bmike

@bmike Bu iyi bir bilgi. Mathematica profilcisini bilmiyordum. Soruma doğrudan cevap vermese de, gereksiz hale getirmeye yardımcı olabilir (+1). Belki en iyi yorum olarak bırakılmış olurdu.
kuantum nokta

6
@bmike hiçbir şeyi yavaşlatmaz, OP'nin aslında Mathematica kodunun etkili olup olmadığı konusunu ele almaya çalıştığı sorunu ele alır.
nekomatic

1

Blrfl'in cevabında önerildiği gibi profil oluşturma, Mathematica kodunuzun etkili olup olmadığını belirlemenin daha uygun yoludur. Ancak, yürütülmesini gerçekten yavaşlatmak istiyorsanız, bunu Mathematica işleminin önceliğini değiştirerek yapabilirsiniz . Bunu denemedim ama bu bağlantılar arasında faydalı bilgiler veya yazılım bulabilirsiniz:

Mac OS X'te bir işlemin önceliğini ayarlamanın bir yolu var mı?

Mac OS X (veya iOS vb.) Üzerinde bir işlemi kalıcı olarak “yeniden adlandırma”

Appriority (eski adıyla Renicer) Northern Softworks tarafından

Bu tartışmalardan bazıları biraz eski, bu nedenle Mac ve OS X sürümünüzde nelerin işe yaradığını bulmak için daha fazla deneme yapmanız veya daha fazla arama yapmanız gerekebilir. Ayrıca, Mac'inizi aynı anda çalışacak başka bir ağır işleme görevi ayarlarsanız, tekniğin daha etkili çalıştığını görebilirsiniz - büyük bir video dosyasını dönüştürün.


Bir işlemin önceliğini değiştirmek, yavaş çalışacağının garantisi değildir. İşletim sistemine sadece işlemci zamanı için çekişme varsa, daha yüksek önceliğe sahip işlemlerin ilk önce başlayabileceğine dair bir ipucu. Hiçbir şey yoluna girmeden, düşük öncelikli bir süreç tam hızda çalışır.
Blrfl

1

Ne yazık ki hayır. Macintosh bilgisayarlarda saat hızını değiştiremezsiniz. Windows anakartlarının yaptığı gibi bir BIOS'ları yoktur, bu nedenle kullanıcının saat hızını değiştirmesinin veya G / Ç şeyleriyle uğraşmasının bir yolu yoktur.

Bunun nedeni çoğunlukla Mac'te bunları elle değiştirmenize gerek olmamasıdır . Donanım önceden oluşturulmuştur ve işletim sistemi hangi donanıma bağlanacağını / bağlanabileceğini bilir.


Mac OS X CAN ya da en azından doğru olup olmadığını o OS gelmez yani yanlış nedeni olur - pil pil ömrü karşı takılı olduğunda bu gerçekten doğru değil, bu yüzden öncelik vermektedir performansına örneğin dinamik işlemci saat hızını değiştirmek Bu ayarı kolayca erişilebilir yapmayın.
nekomatic

İyi bir nokta. Bunu açıklığa kavuşturmak için yayını düzenledim
JamEngulfer

0

Evet, ama tavsiye edilmez. Saat hızı, işlemci yükü, sıcaklık ve güç kullanılabilirliği gibi bir dizi faktöre bağlı olarak işletim sistemi ve işlemcinin kendisi tarafından kontrol edilir.

Pili% 10-20'ye düşürürseniz , herhangi bir harici güç kaynağının bağlantısını keserseniz ve dizüstü bilgisayarı maksimum çalışma sıcaklığına (95F (35C) kadar) ısıtırsanız , işlemci saatini önemli ölçüde azaltmak da dahil olmak üzere kesinlikle daha düşük bir güç durumuna girecektir. Sırt ağrısı için kullanılanlar gibi dizüstü bilgisayarın altında küçük bir ısıtma yastığı yeterli olabilir ve kış aylarında sizin için çok rahat olabilir.

Ancak, performans ayarı için doğru araçları kullanmak daha iyi olur. Evet, eski ortamınızı simüle edebilir ve böylece kendi dahili saatinizi kullanabilirsiniz, ancak kullandığınız yazılımda işinizin performansını anlamak için saatler, zamanlayıcılar ve diğer araçlar bulunur. Birkaç yıl içinde tekrar yükseltebileceğiniz veya ara sıra farklı bilgisayarları ve bilgi işlem platformlarını kullanabileceğiniz göz önüne alındığında, emülatörler gibi koltuk değneği kullanmak iyi bir uzun vadeli çözüm değildir.

Bunun yerine yerleşik araçları kullanmanızı öneririm. Düzenli kullanım, onları fazladan çaba harcamadan kullanmanıza izin verir, böylece bunları yazılımınıza anında entegre edebilirsiniz.

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.