Jak mogę zasymulować wolny procesor?

12

Prawie skończyłem kodowanie mojej gry internetowej. Działa na wszystkich nowoczesnych przeglądarkach. Chcę jednak ustalić pewne minimalne wymagania.

Dlatego potrzebuję wolnego komputera Mac. Jednak nie mam dostępu do wolnego komputera Mac z nowoczesną przeglądarką (IE 9+, Safari 5+, Opera 11+, Chrome, Firefox 4+).

Za pomocą narzędzia wymienionego w tym pytaniu mogę symulować wolne połączenie internetowe. Z łatwością mogę zużyć dużo pamięci. Nie mam jednak pojęcia, jak symulować wolny procesor bez uciekania się do podkręcania.

Czy jest jakiś sposób, aby tymczasowo zwolnić procesor mojego komputera Mac bez podkręcania?

JavaAndCSharp
źródło
kaszel Zainstalować system Windows? : P
Russell

Odpowiedzi:

7

Jednym z rozwiązań jest wykorzystanie wirtualizacji do uruchomienia na komputerze innego wystąpienia systemu Mac OS X. Wiele aplikacji do wirtualizacji (takich jak Parallels Desktop ) pozwala zdecydować, ile zasobów może mieć instancja (np. Pamięć lub jednostka centralna). Lion zwiększył obsługę wirtualizacji Mac OS X.

Jeśli zdecydujesz się na Parallels, warto przeczytać artykuł opisujący konfigurację instancji innego systemu Mac OS X Lion.

Rozsądny
źródło
Pokonaj mnie o 20 sekund :)
penguinrob
Wygląda na to, że jest to zarówno ulubiona społeczność, jak i moja ulubiona odpowiedź. Zielony czek dla Ciebie!
JavaAndCSharp
1
W Parallels wydaje się, że możesz ograniczyć liczbę rdzeni procesora, ale nie szybkość zegara.
Timo
Wydaje się, że możesz dusić procesor za pomocą CPUThrottle willnolan.com/cputhrottle/cputhrottle.html
Timo
6

Dobrym sposobem jest użycie narzędzia wiersza polecenia cputhrottle, które pozwala ustawić limit ilości procesora, z którego dany proces może korzystać.

Zainstaluj z (na przykład) naparem: brew install cputhrottle

Następnie należy wybrać procesor Ile procentowo proces przeglądarce (i / lub procesu przeglądarki Tab Content) może używać: cputhrottle <PID> <PERCENTAGE>.
Identyfikator procesu można znaleźć za pomocą aplikacji Activity Monitor.

Aby zakończyć cputhrottle (który aktywnie dławi proces tak długo, jak jest uruchomiony), naciśnij Control- C.

Cykelero
źródło
1
Wygląda na to cputhrottle, że forumula została usunięta z Homebrew 17 lutego 2019, ponieważ już nie działa. Yosemite była ostatnią wersją systemu macOS obsługującą cputhrottle. github.com/Homebrew/homebrew-core/pull/36127
Sean Moubry
@sean Strange - cputhrottle wydaje się działać na moim Macu, mimo że korzystam z Mojave z włączoną obsługą SIP. Mogłem jednak pobrać go z innego miejsca; próbowałeś go pobrać ze strony autora? willnolan.com/cputhrottle/cputhrottle.html
Cykelero
4

Zawsze możesz zainstalować OS X na maszynie wirtualnej i ustawić maszynę wirtualną na wolniejszy procesor.

pingwin
źródło
2

Uruchom kilka instancji yes > /dev/null &. Każde wystąpienie przypisze rdzeń do 100%, więc uruchom jeden dla każdego rdzenia. Możesz także spróbować przywrócić niceprocesom tak wyższy priorytet lub obniżyć priorytet przeglądarki.

Cajunluke
źródło
1

Dodaj cykle snu do głównej pętli lub często uruchamianych części kodu to dobry pierwszy krok. Następnie dodaj kilka obliczeń, które są powolne / nieistotne. W zależności od tego, co chcesz zaakcentować, możesz także trochę niewygodnej matematyki wskaźnika lub rzutowania zmiennych, aby spowolnić. Podczas programowania łatwo jest to zrobić w workach z piaskiem.

bmike
źródło
2
Myślenie jak programista. Jest to przydatne; chcę jednak znaleźć minimalną częstotliwość zegara, przy której może działać niezmodyfikowana gra.
JavaAndCSharp
Nawet jeśli jesteś programistą Apple i zabierasz kod do ich laboratoriów testowych, gdzie możesz uruchomić go na dowolnym sprzęcie - zrób całkiem niezły margines błędu, ponieważ wiele komputerów użytkowników działa znacznie gorzej niż komputery Mac w najlepszym przypadku. Pomiędzy dodatkami i modyfikacjami systemu, problemami z
pamięcią