Bir sürecin benzeşimini kalıcı olarak nasıl ayarlarım?


17

CPU kullanımı ile ilgili sorunları olan bir oyunum var, bu yüzden düzeltmelerden biri dört çekirdekli işlemci dışında bir çekirdeği devre dışı bırakmak. Oyunu her başlattığımda, Görev Yöneticisi'ne manuel olarak girmem ve oyun yeni piyasaya sürüldüğünden, ancak sık sık çökmelere eğilimli olduğu için afinitesi manuel olarak girmem gerekiyor.

YAZILIMSIZ bir çözüm var mı?

Çevrimiçi olarak bazı çözümler aradım ve sadece Windows 7'ye yönelik görünüyorlar. Benim gibi Windows 8.1 kullanıcıları için bir çözüm var mı?


Lütfen "afiniteyi manuel olarak girin" ile ne demek istediğinizi açıklayın?
Pacerier

@Pacerier Afinitesi manuel olarak değiştirmek zorundayım, çünkü varsayılan olarak tüm CPU'larla çalışmak için seçer.
yuritsuki

"Uyumluluk modunu", tek bir çekirdeğe benzeşimi ayarlayan yeterince eski bir Windows sürümüne ayarlamayı deneyebilirsiniz. Ama bunun hala işe yarayıp yaramadığını kontrol etmek için elimde win8 yok.
KodlarInChaos

@cyberwebpoweruser, Aşağıdaki cevap işinize yaradı mı?
Pacerier

Yanıtlar:


24

Yakın ilgi alanı atamak için bir kısayol oluşturabilirsiniz.

X:\Windows\System32\cmd.exe /C start /affinity Y game.exe

Y onaltılık ve biraz maske:

0x1 - 0001 - Core0
0x2 - 0010 - Core1
0x3 - 0011 - Core1 & Core0
0x4 - 0100 - Core2
0x5 - 0101 - Core2 & Core0
0x6 - 0110 - Core2 & Core1
0x7 - 0111 - Core2 & Core1 & Core0
0x8 - 1000 - Core3
0x9 - 1001 - Core3 & Core0
0xA - 1010 - Core3 & Core1
0xB - 1011 - Core3 & Core1 & Core0
0xC - 1100 - Core3 & Core2
0xD - 1101 - Core3 & Core2 & Core0
0xE - 1110 - Core3 & Core2 & Core1
0xF - 1111 - Core3 & Core2 & Core1 & Core0

1
Ben ilk 3 berbat var sanırım
Richie Frame

Oh, lanet olsun .. evet :) Düzeltildi ..
The_aLiEn

4
@The_aLiEn soru: Bu işlem başka bir işlem başlatırsa, bu ikinci işlem ilk işlemin benzeşimini mi devralır? Bir oyunla aynı problemim var, ancak hem başlatıcı hem de başlatıcı tarafından çözülmesi için başlatılan 3. taraf indirme yöneticisinde yakınlığı değiştirmem gerekiyor.
Nzall

2
Parçaya ihtiyacınız var mı cmd.exe /C, yoksa başlamak yeterli startmi?
deltab

2
@NateKerkhofs miras almalı. Tüm güvenlik tanımlayıcıları, sahip olduğu tutamaçlar gibi yalnızca yakınlık değil
The_aLiEn

7

"Yazılım dışı" ile ek yazılım gerektirmiyorsa, vardır. Programı bir komut dosyasından çalıştırabilir ve yakınlık anahtarını kullanabilirsiniz"Start /AFFINITY 20 process.exe"

/AFFINITY 20, 20altı 100000çekirdekli bir sayı olarak davranır ve ikili eşdeğeriyle 6 çekirdekli işlemcideki 0-5'ten 5 çekirdeğine afiniteyi ayarlar. Benzer bir altıgen maske E, işlemi yalnızca 0-3 veya 0-5 arası 1-3 çekirdeklerinde çalıştıran belirli bir çekirdeği devre dışı bırakmanıza izin verecektir .


"yazılım dışı" anlamına gelir cmd.
Pacerier

5

Buna cevap arayan ve bulamayan herkes için bulduğum çözüm WinAFC (veya AffinityChanger) adlı bir uygulama kullanmaktı . Bu, bazı yürütülebilir dosyalar için profilleri belirtmenize izin veren ve onlar için işlem listesini yoklayacak kısmi bir GUI, kısmi komut satırı uygulamasıdır. Eşleşen işlemler bulursa, bu işlemlerin benzeşimini yüklenen profildeki ayarlara göre değiştirir.

Burada bazı belgeler var: http://affinitychanger.sourceforge.net/

Benim amacım için şöyle görünen bir profil oluşturdum:

TestMode = 0
TimeInterval = 1
*\convert.exe := PAIR0+PAIR1

Bu profil, herhangi bir convert.exe işlemini ilk iki CPU çekirdek çiftini (CPU0, CPU1, CPU2 ve CPU3) kullanacak ve her saniye yoklayacak şekilde ayarlar. TestModeprofilinizin gerçekten yakınlıklar belirlemeden çalışıp çalışmadığını görmenizi sağlayan bir geçiştir.

Umarım birisi bunu faydalı bulur!

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.