O automatach wieszających komputer
Do napisania tego wpisu skłonił mnie jeden z ostatnich projektów - pisałem dla klienta automat, który posługiwał się niestandardowym wskaźnikiem, przy czym konieczne było przejrzenie jego historii na kilkadziesiąt słupków wstecz.
O ile w backtestach w Visual Mode w MetaTraderze nie było większych problemów i nic nie zwiastowałem tego co miało nadejść, to uruchomienie optymalizacji okazało się zabójcze dla zasobów komputera.
Oczywiście testy przebiegały zgodnie z planem, jednakże w ich trakcie komputera nie dało się po prostu używać, tak bardzo “zamulał”.
Tak więc porada dla wszystkich użytkowników komputerów z procesorami dwurdzeniowymi, którzy chcą optymalizować swoje zasobożerne EA i jednocześnie korzystać z komputera: przeznaczcie jeden rdzeń dla MetaTradera, drugi pozostanie dla was :)
Jak to zrobić? Bardzo prosto: Uruchamiamy Managera Zadań, przechodzimy na zakładkę Procesy, odnajdujemy proces terminal.exe, klikamy prawym i z menu wybieramy pozycję Ustaw koligację, po czym w okienku, które się pojawi zostawiamy zaznaczony tylko jeden procesor.
Istnieje także sposób, aby zmusić MetaTrader do startu od razu na jednym rdzeniu. Tworzymy w Notatniku nowy plik, wpisujemy w nim:
start /affinity [rdzeń] [ścieżka do pliku terminal.exe]
Oraz zapisujemy go pod dowolną nazwą z rozszerzeniem .bat. Uruchomienie tego pliku spowoduje start MetaTradera z koligacją ustawioną na odpowiedni rdzeń (numeracja od zera).
Oczywiście poradę tę można zastosować do dowolnego procesu, który powoduje “mulenie” komputera.
1 odpowiedź do wpisu "O automatach wieszających komputer"
mm
Ja coś za bardzo zamula komputer, to wystarczy w zmienić priorytet w "Menadżerze zadań" dla zasobożernego procesu na niższy. Przy okazji dotyczy to również procesów nie tylko "nadmiernie" korzystających z procesora, ale również ze "zbyt intensywnego" stronicowania (na to nie pomoże uruchamianie na jednym rdzeniu). Z reguły interaktywne procesy uruchamiane przez użytkownika nie wymagają zbyt wielu zasobów, więc zmiana priorytetu nie zmienia bardzo czasu wykonania zadań przez zasobożerne procesy.