Apakah ada solusi yang dapat membatasi penggunaan CPU dari suatu proses?

67

Saya menggunakan laptop lama dan melakukan pemrosesan berat yang membutuhkan penggunaan CPU tinggi untuk waktu yang lama (~ 30 menit - 2 jam). Ketika proses menempatkan beban berat pada CPU untuk waktu yang lama, CPU terlalu panas dan komputer dimatikan. Saya tidak ingin menggunakan pendingin / dudukan karena saya membawa laptop ini berkeliling dan bekerja di luar rumah.

Apakah ada cara / aplikasi yang dapat saya batasi penggunaan CPU dari suatu proses di Windows?

catatan: Menetapkan prioritas proses dari task manager tidak berfungsi.

Catatan 2: Kipas bersih.

nimcap
sumber
6
Apakah menyewakan 3 jam waktu CPU pada EC2 tidak layak? Saya membayangkan itu akan bekerja jauh lebih baik untuk sebagian besar kasus.
digitxp
dapatkah Anda menentukan versi Windows mana, dan laptop lama mana? Jika ada dual core di dalamnya, Anda bisa menentukan aplikasi untuk dijalankan hanya pada satu core, yang membuatnya 50% dan karenanya temps lebih dingin.
Joris Meys
4
@digitxp: Saya mahasiswa PhD saat ini, jika itu untuk tujuan bisnis, saya akan membeli laptop baru atau menggunakan mesin desktop yang kuat :)
nimcap

Jawaban:

61

Pencarian melalui internet membawa beberapa program yang dapat membantu. Mereka semua freeware .

BES - Battle Encoder Shirase

BES adalah alat kecil yang membatasi   Penggunaan CPU untuk proses yang ditentukan: untuk   Misalnya, Anda dapat membatasi penggunaan CPU   dari suatu proses yang akan menggunakan CPU 100%,   hingga 50% (atau persentase Anda   seperti). Dengan ini, Anda bisa menggunakan yang lain   program dengan nyaman saat melakukan   sesuatu yang intensif CPU dalam   Latar Belakang. Dengan membatasi beban CPU,   Anda juga dapat mendinginkan CPU Anda   segera ketika itu terjadi juga   panas. Tentu saja kecepatan pemrosesan   akan melambat secara proporsional jika Anda   membatasi penggunaan CPU, tetapi seharusnya   jauh lebih baik daripada menabrak karena   panas atau (dalam skenario terburuk)   komputer Anda rusak karena terbakar   CPU.

Penjinak proses

Process Tamer adalah kecil (140k) dan   utilitas super efisien untuk Microsoft   Windows XP / 2K / NT / Vista / Win7 yang berjalan   di baki sistem Anda dan terus-menerus   memonitor penggunaan cpu lainnya   proses. Ketika melihat proses itu   kelebihan cpu Anda, itu mengurangi   prioritas proses itu   sementara, sampai penggunaan cpu-nya   kembali ke tingkat yang wajar.

Memproses Lasso

Proses Lasso adalah hal baru yang unik   teknologi yang akan meningkatkan PC Anda   responsif dan stabilitas selama   periode beban CPU yang tinggi. Windows, oleh   desain, memungkinkan program memonopoli   CPU Anda tanpa kendala   untuk membeku, hang, dan micro-lag.   ProBalance Proses Lasso (Proses   Balance) teknologi secara cerdas   menyesuaikan prioritas berlari   program sehingga berperilaku buruk   proses tidak akan berdampak negatif pada   responsif PC Anda.

Mehper C. Palavuzlar
sumber
10
dari tiga BES sepertinya taruhan terbaik. dua lainnya menggunakan nilai prioritas yang tidak berfungsi sesuai dengan pertanyaan
RobotHumans
4
BES adalah pilihan saya. Ringan dan melakukan apa yang seharusnya kita lakukan.
nimcap
1
BES tidak dapat membatasi Windows Live Mesh (MOE.exe); itu terus menggunakan 95% terlepas dari pengaturan apa pun. Yang lain tidak mungkin membantu karena sudah disetel ke prioritas siaga. Menjadikan keseluruhan OS sangat lambat.
RomanSt
Kanan. BES adalah yang unik yang melakukan pembatas% cpu. Kenapa ada di posisi ke-3 ?? :(
erm3nda
Dari halaman web BES: "Ya, BES adalah alat yang secara berkala membuat target tidur untuk waktu yang sangat singkat".
mtone
15

Solusi termudah yang saya temukan adalah membatasi kekuatan Prosesor.

  1. Buka Panel Kontrol.
  2. Perangkat keras dan Suara
  3. Opsi daya
  4. Edit pengaturan paket
  5. Ubah pengaturan daya tingkat lanjut
  6. Manajemen daya prosesor
  7. Status prosesor maksimum dan turunkan menjadi 80% atau apa pun yang Anda inginkan. Menggunakan perangkat lunak yang mengukur suhu CPU seperti 'Kipas kecepatan' Anda akan melihat bahwa suhu turun.
Zeppi Ta Leli II
sumber
Anda juga dapat menyesuaikan kebijakan pendinginan di sana mode pasif dapat membantu
CrandellWS
9

Tentu ini adalah pertanyaan lama tapi saya terkejut belum ada yang menyarankan ini:

Kurangi kecepatan CPU Anda.

Praktis semua laptop dan Windows itu sendiri telah membangun mekanisme untuk secara dinamis menyesuaikan kecepatan prosesor agar sesuai dengan beban. Anda bisa mengganti perilaku ini - misalnya di Control Panel = & gt; Opsi Daya = & gt; Lanjut, Anda dapat mengatur kecepatan prosesor maksimum yang di bawah 100%. Prosesor Anda kemudian akan dibatasi pada kecepatan yang lebih rendah, dan dengan demikian menghasilkan lebih sedikit panas, apa pun yang Anda lakukan.

Ini tidak memerlukan perangkat lunak tambahan dan yang lebih penting, mengurangi kecepatan CPU Anda membuat prosesor Anda lebih efisien , jadi adalah solusi yang lebih baik daripada membatasi penggunaan CPU Anda di Windows. Menggunakan 50% prosesor pada 2.0Ghz akan menggunakan daya yang jauh lebih besar daripada 100% prosesor pada 1.0Ghz. Lebih sedikit daya = lebih sedikit panas.

qasdfdsaq
sumber
5

Saya ingin menambahkan aplikasi yang telah saya gunakan di masa lalu untuk berhasil membatasi pemanfaatan CPU. Saya telah menggunakan threadmaster beberapa kali di masa lalu.

http://threadmaster.tripod.com/

John
sumber
5

Di Windows 10, 8 dan 7:

  1. Buka Pengelola Tugas.
  2. Klik kanan proses untuk membatasi penggunaan CPU. Klik Buka detail .
  3. Sekarang, tab detail akan muncul. Klik kanan proses tertentu, pilih atur afinitas , dan pilih inti yang akan Anda gunakan untuk proses tertentu.
sebine francis
sumber
1
Di Windows 7, mengklik kanan suatu proses di task manager akan memunculkan menu konteks dan salah satu opsi adalah "Tetapkan afinitas" yang berfungsi seperti yang Anda gambarkan.
David Richerby
Proses saya ingin membatasi penggunaan CPU berwarna abu-abu. Itu Buka detail berwarna abu-abu.
Santosh Kumar
3

Alih-alih mengunduh program untuk melakukan itu, jika Anda pergi ke task manager dan pergi ke detail Anda akan melihat daftar proses yang Anda jalankan. Jika Anda mengklik kanan dan menggunakan opsi "atur afinitas" alih-alih "atur prioritas", Anda dapat memilih berapa banyak core yang digunakan oleh masing-masing program sehingga membatasi jumlah penggunaan CPU oleh program.

GimmeMyGold
sumber
Sebagian besar program adalah single-threaded, jadi mengatur afinitas ke 1 inti tidak akan membantu Anda sama sekali. (Program single-threaded hanya dapat menggunakan satu inti cpu, dan tidak menggunakan lebih dari satu inti.)
CausingUnderflowsEverywhere
2

Saat ini, solusi terbaik adalah membatasi penggunaan CPU per-proses dengan membatasi afinitas CPU (core yang dapat diakses oleh proses). Anda memiliki presisi yang lebih rendah (hanya dapat membatasi persentase tertentu), tetapi ini adalah operasi yang lebih alami daripada mencoba untuk menunda dan melanjutkan utas proses secara berkala. Memproses Lasso melakukan pekerjaan yang baik dengan afinitas CPU default (persisten). Namun, ini juga memiliki batasan gaya BES yang 'keras', meskipun itu tidak disarankan karena ini adalah tindakan yang tidak wajar.

dyasta
sumber
2

Cara lain yang sangat mudah untuk mengatur afinitas executable tertentu ketika diluncurkan adalah dengan menggunakan mulai perintah.

misalnya "mulai / afinitas F iexplore.exe". Jika ada satu aplikasi yang ingin Anda mulai dengan pembatasan, Anda bisa membuat pintasan dengan perintah ini. Perhatikan bahwa afinitas diatur oleh nilai heksadesimal, yang mungkin memerlukan beberapa percobaan dan kesalahan. Periksa proses di task manager untuk melihat hasil afinitas yang sebenarnya!

Lihat lebih lanjut di sini: http://blogs.msdn.com/b/santhoshonline/archive/2011/11/24/how-to-launch-a-process-with-cpu-affinity-set.aspx

HPHP
sumber
1

Underclocking CPU akan memungkinkan Anda mencapai kecepatan CPU yang lebih lambat, menurunkan panas yang dihasilkan. Anda mungkin perlu pengalaman tingkat lanjut jika motherboard atau CPU Anda tidak memiliki sarana untuk memodifikasi kecepatan clock menggunakan program yang dapat diunduh. (Cari utilitas overclock untuk CPU atau motherboard Anda (hanya dari produsen CPU dan motherboard Anda), perlu diketahui bahwa Anda akan tertarik dengan underclocking.)

Dalam hal tidak ada utilitas yang tersedia, Anda harus memasukkan BIOS komputer Anda dan mengubah kecepatan jam prosesor Anda. Cara termudah adalah dengan mengatur pengali ke angka yang lebih rendah. Tolong jangan sentuh voltase karena ini dapat merusak CPU Anda jika terlalu tinggi, atau menyebabkan kesalahan ketika terlalu rendah. Frekuensi juga tidak boleh dimodifikasi, hanya pengganda. Untuk kembali ke pengaturan default, baca manual BIOS Anda untuk menentukan tombol untuk menekan untuk mengembalikan pengaturan default. (Atau cukup periksa layar BIOS dengan hati-hati, terutama layar keluar.)

CausingUnderflowsEverywhere
sumber