Anonim

Kebanyakan PC Windows kini dikuasakan oleh pemproses berbilang teras, dan versi Windows baru-baru ini secara amnya melakukan kerja yang sangat baik secara automatik membahagikan kuasa pemprosesan PC anda secara keseluruhan untuk menampung aplikasi dan permainan anda yang terbaik. Tetapi kadang-kadang pengguna dan Windows mungkin mempunyai idea yang berbeza ketika datang untuk membuat keputusan tentang cara terbaik menggunakan kekuatan CPU PC, dan di sinilah pengguna maju dapat melangkah dan secara manual menyekat aplikasi atau proses tertentu ke core CPU tertentu, berkat fitur dipanggil Affinity Processor . Inilah cara untuk melakukannya.
Apabila ia datang kepada versi peringkat pengguna Windows, kebolehan pengguna untuk mengkonfigurasi secara manual aplikasi teras CPU tertentu bermula pada jangka masa Windows XP / 2000, walaupun langkah-langkahnya sedikit berbeza pada setiap versi Windows. Untuk langkah dan tangkapan skrin kami menggunakan Windows 10, tetapi pembaca yang menjalankan versi Windows yang lebih lama, khususnya Windows 7 dan Windows 8 / 8.1, sepatutnya dapat mengikuti langkah asas dalam menghadapi sedikit perbezaan pada UI Windows.
Ia juga penting untuk diperhatikan sebelum kami meneruskan bahawa afiniti pemproses yang mengubahsuai untuk proses atau aplikasi tertentu boleh menyebabkan masalah kestabilan, dan kemungkinan akan merendahkan prestasi aplikasi dan permainan moden yang berulir. Oleh itu, pastikan anda bereksperimen dengan aplikasi dan data yang tidak penting terlebih dahulu, dan pastikan anda menyimpan sebarang kerja terbuka atau kemajuan permainan sebelum mengubah suai sebarang tetapan yang dibincangkan di sini, memandangkan aplikasi atau kemalangan sistem mungkin.

Mengapa Hadkan Akses Apl ke Corak CPU?

Seperti yang dinyatakan di atas, kebanyakan pengguna akan menginginkan Windows secara automatik mengendalikan kuasa pemprosesan PC, memastikan bahawa aplikasi yang boleh menggunakan semua teras diberi akses kepada mereka. Ini secara amnya menghasilkan prestasi yang lebih baik, jadi soalan utama adalah mengapa pengguna akan pernah mahu mengehadkan atau menyekat aplikasi multi-thread tertentu kepada kurang daripada jumlah teras fizikal dan logik yang disediakan oleh PC.
Terdapat dua jawapan asas untuk soalan ini: 1) untuk memastikan keserasian dan prestasi dengan perisian yang lebih lama, dan 2) untuk menjalankan babi pemproses yang terlalu besar-benang sementara masih menyimpan sumber yang mencukupi untuk melaksanakan tugas-tugas lain secara serentak.
Kami akan mulakan dengan jawapan yang pertama: keserasian dan prestasi. Sesetengah aplikasi dan permainan Windows telah dikodkan jauh sebelum pemproses peringkat multi-thread dan multi-teras pengguna adalah kenyataan. Pencipta permainan yang lebih tua khususnya mungkin tidak pernah membayangkan bahawa seseorang yang bermain permainan ini akan mempunyai apa-apa lebih daripada PC Windows yang dikuasakan oleh teras CPU frekuensi tinggi tunggal. Apabila perisian era ini menemui CPU moden yang membungkus empat, enam, lapan, atau lebih banyak teras, ia kadang-kadang boleh menyebabkan masalah prestasi, atau bahkan ketidakupayaan untuk melancarkan program sama sekali.
Banyak aplikasi dan permainan masih berjalan dengan baik, sudah tentu, walaupun dikuasakan oleh CPU desktop raksasa 8-teras / 16-thread terkini. Tetapi jika anda cuba memainkan permainan yang lebih lama dan anda menghadapi masalah, menggunakan afinasi prosesor untuk mengehadkan proses permainan secara manual hanya satu daripada teras anda yang boleh menjadi langkah penyelesaian masalah yang baik untuk dicuba.
Jawapan kedua mungkin lebih berguna untuk lebih banyak pengguna Windows, dan ia akan menjadi asas arahan langkah demi langkah kami di bawah. Walaupun banyak aplikasi Windows, terutamanya permainan, masih tidak dapat memanfaatkan lebih daripada satu atau dua teras, aplikasi penciptaan kandungan seperti pengekod video dan alat rendering 3D telah dioptimumkan dalam beberapa tahun kebelakangan ini untuk dapat menggunakan setiap satu kuasa pemprosesan yang PC anda boleh membuangnya. Anda biasanya mahu aplikasi ini berjalan secepat mungkin, tetapi kadangkala kelajuan atau masa penyelesaian bukanlah faktor utama, dan anda lebih suka menyimpan beberapa bahagian kuasa pemprosesan PC anda yang tersedia untuk tugas lain sementara aplikasi media menuntut anda berjalan di latar belakang. Di sinilah pertalian prosesor sangat berguna.

Langkah demi Langkah: Contoh Kami

Satu aplikasi yang boleh memakan semua teras CPU yang anda buang ialah pengekod video x264 seperti RipBot264 (atau HandBrake, atau mana-mana alat pengekod x264 dan x265 yang tersedia). Untuk contoh kami, kami mahu RipBot264 menyandarkan fail video, tetapi kami juga mahu bekerja pada projek lain dalam aplikasi seperti Photoshop dan Premiere pada masa yang sama.

Secara lalai, aplikasi seperti RipBot264 akan menggunakan semua kuasa pemprosesan yang tersedia.

Sekiranya kami memulakan pengekodan RipBot264 dan kemudian melancarkan Photoshop dan Premiere, Windows akan melakukan yang terbaik untuk mengutamakan dan menampung keperluan setiap aplikasi, tetapi Windows juga kadang-kadang akan membuat kesilapan, menyebabkan kelembapan atau pembekuan sementara dalam aplikasi aktif kami. Kita boleh cuba menghindari ini dengan menggunakan afiniti pemproses untuk mengehadkan penggunaan CPU CPU RipBot264.
Untuk bermula, mula-mula pastikan anda log masuk ke akaun pengguna Windows dengan keistimewaan admin. Kemudian teruskan dan luncurkan aplikasi yang anda mahu untuk menyekat. Dalam kes kami, itu RipBot264.
Seterusnya, lancarkan Windows Task Manager, sama ada dengan mengklik kanan pada bar tugas dan memilih Pengurus Tugas atau dengan menggunakan kombinasi pintasan papan kekunci Ctrl-Shift-Escape . Secara lalai, Pengurus Tugas dalam versi Windows baru dimulakan dalam paparan "asas". Jika Pengurus Tugas anda tidak kelihatan seperti dalam tangkapan skrin kami, klik Lagi Butiran untuk mendedahkan antara muka penuh. Setelah itu selesai, pastikan anda berada di tab "Proses" dan kini mencari aplikasi atau proses anda.
Langkah terakhir ini berpotensi lebih mudah dikatakan daripada dilakukan. Dalam banyak kes, anda hanya akan mencari aplikasinya yang dikehendaki dalam senarai. Dalam kes lain, sesetengah aplikasi mungkin menggunakan proses unik selain daripada proses permohonan utama untuk tugas tertentu. Kuncinya ialah untuk mencari proses atau proses yang bertanggungjawab untuk penggunaan CPU yang anda hendak hadkan. Cara yang baik untuk menguji ini ialah untuk melancarkan aktiviti menuntut (dalam kes kita, mula mengodkan fail video), dan kemudian menyusun Pengurus Tugas oleh lajur CPU untuk mencari proses yang menggunakan sumber CPU tertinggi. Jika nama proses (sekali lagi, dalam kes kami itu proses pengekodan H.264) sepadan dengan aplikasi sasaran anda, anda semua ditetapkan.
Dengan proses yang betul dikenal pasti, klik kanan padanya dan pilih Pergi ke Details . Ini akan melompat anda ke tab Butiran Pengurus Tugas dan menyerlahkan proses yang betul secara automatik.


Sekarang, klik semula sekali lagi pada proses dan pilih Set Affinity .

Tetingkap baru yang dilabelkan sebagai "Processor Affinity" akan muncul diisi dengan kotak pilihan dan senarai CPU yang bernombor, yang jumlahnya didasarkan pada jumlah keseluruhan teras fizikal dan logik yang dibungkus dalam CPU khusus anda. Sistem contoh kami sedang menjalankan Intel Core i7-5960X, yang mempunyai lapan teras habis-habisan. Oleh itu, kami mempunyai sejumlah 16 CPU yang tersenarai dalam tetingkap Processor Affinity kami.


Seterusnya, sudah tiba masanya untuk menentukan sejauh mana anda mahu menyekat apl anda. Klik kotak semak di sebelah Semua Pemproses untuk memilih semua kotak CPU dan kemudian pilih sekurang-kurangnya satu kotak CPU untuk memeriksa, dengan setiap satu mewakili inti fizikal atau logik. Tidak ada apa-apa kecacatan CPU atau senario overclocking yang unik, secara amnya tidak kira teras yang anda pilih.


Dalam contoh kami, kami ingin mengehadkan RipBot264 ke empat teras, meninggalkan banyak ruang untuk tugas-tugas sensitif masa kami yang lain. Sebaik sahaja anda telah memilih bilangan teras yang dikehendaki, tekan OK untuk menutup tetingkap Processor Affinity. Perubahan anda akan berkuatkuasa serta-merta dan jika aplikasinya telah terlibat dalam tugas berat CPU, anda akan melihat penggunaan pemprosesnya jatuh pada semua tetapi teras yang anda pilih.

Sebaik sahaja kita mengkonfigurasi RipBot264 untuk menggunakan hanya 4 teras 16 kita, penggunaan CPU akan jatuh segera ke teras yang tersisa.

Dengan persediaan ini, kami boleh membiarkan RipBot264 menyandarkan secepat yang mungkin pada empat teras tersebut, tetapi baki dua belas teras dalam sistem kami bebas mengendalikan aplikasi lain. Sekiranya kita kemudian menamatkan kerja yang lain dan ingin memulihkan prestasi penuh kepada RipBot264, kita hanya dapat mengulangi langkah-langkah di atas untuk kembali ke tetingkap Processor Affinity dan kemudian periksa kotak All Processors sekali lagi memberikan akses aplikasi ke semua CPU kami teras.

Kaunter

Selain masalah kestabilan yang disebut tadi, terdapat satu kaveat besar lain yang perlu anda pertimbangkan. Sebarang perubahan yang anda buat kepada pertalian prosesor akan ditetapkan semula apabila proses itu dimulakan semula. Ini bermakna, sekurang-kurangnya, anda perlu mengulang langkah-langkah ini setiap kali anda reboot PC anda. Sesetengah proses lebih menyusahkan, bagaimanapun, kerana mereka memuatkan semula secara automatik bergantung kepada arahan aplikasinya. Dalam persediaan RipBot264 kami, sebagai contoh, proses enkoder H.264 yang kami ubah suai bermula setiap kali aplikasi bergerak ke pengekodan fail video baru.
Anda mungkin dapat mengatasi had ini dengan membuat skrip tersuai yang menetapkan afiniti pemproses apl anda melalui fail kumpulan atau jalan pintas berasaskan arahan, tetapi sesetengah aplikasi mungkin menggunakan proses unik atau rawak yang membuat usaha sedemikian sukar atau mustahil. Oleh itu, itu adalah yang terbaik untuk membuat eksperimen secara berasingan dengan setiap aplikasi yang anda mahu menyekat untuk mencari cara terbaik untuk mengkonfigurasikan pertalian prosesor secara manual.

Bagaimana untuk menyekat aplikasi ke teras cpu tertentu dengan pertalian pemproses