Esistono soluzioni che possono limitare l'utilizzo della CPU di un processo?


70

Sto usando un vecchio laptop e sto elaborando pesantemente che richiede un elevato utilizzo della CPU per lungo tempo (~ 30 minuti - 2 ore). Quando il processo mette a lungo carico pesante sulla CPU, la CPU si surriscalda e il computer si spegne. Non voglio usare un dispositivo di raffreddamento / supporto perché sto portando questo laptop in giro e lavoro fuori casa.

Esiste un modo / applicazione che posso limitare l'utilizzo della CPU di un processo in Windows?

Nota: l' impostazione della priorità del processo da Task Manager non funziona.

Nota 2: i fan sono puliti.


6
Il noleggio di 3 ore di tempo della CPU su EC2 non è fattibile? Immagino che funzionerebbe molto meglio nella maggior parte dei casi.
digitxp

puoi specificare quale versione di Windows e quale vecchio laptop? Se c'è un dual core all'interno, puoi semplicemente specificare l'applicazione da eseguire su un solo core, che lo mantiene al 50% e quindi a temperature più fredde.
Joris Meys,

4
@digitxp: Al momento sono dottorando, se fosse per motivi di lavoro, avrei comprato un nuovo laptop o usato comunque una potente macchina desktop :)
nimcap

Risposte:


64

Una ricerca in rete porta alcuni programmi che potrebbero essere d'aiuto. Sono tutti freeware .

BES - Battle Encoder Shirase

BES è un piccolo strumento che limita l'utilizzo della CPU per un processo specifico: ad esempio, puoi limitare l'utilizzo della CPU di un processo che utilizzerebbe la CPU al 100%, fino al 50% (o qualsiasi percentuale che ti piace). Con questo, puoi usare altri programmi comodamente mentre fai qualcosa di intensivo per la CPU in background. Limitando il carico della CPU, è anche possibile raffreddare immediatamente la CPU quando si surriscalda. Ovviamente la velocità di elaborazione rallenterà in modo proporzionale se si limita l'utilizzo della CPU, ma dovrebbe essere molto meglio dell'arresto anomalo a causa del calore o (nel peggiore dei casi) con il computer rotto con una CPU bruciata.

Tamer di processo

Process Tamer è un'utilità minuscola (140k) e super efficiente per Microsoft Windows XP / 2K / NT / Vista / Win7 che viene eseguita nella barra delle applicazioni e monitora costantemente l'utilizzo della CPU di altri processi. Quando vede un processo che sta sovraccaricando la tua CPU, riduce temporaneamente la priorità di quel processo, fino a quando il suo utilizzo della CPU non ritorna a un livello ragionevole.

Lazo di processo

Process Lasso è una nuova tecnologia unica che migliorerà la reattività e la stabilità del tuo PC durante i periodi di elevato carico della CPU. Windows, in base alla progettazione, consente ai programmi di monopolizzare la CPU senza restrizioni, portando a blocchi, blocchi e micro-ritardi. La tecnologia ProBalance (Process Balance) di Process Lasso regola in modo intelligente le priorità dei programmi in esecuzione in modo che i processi mal gestiti non influiscano negativamente sulla reattività del PC.


10
dei tre BES sembra la scommessa migliore. gli altri due usano valori prioritari che non hanno funzionato secondo la domanda
RobotHumans,

4
BES è la mia scelta. È leggero e fa quello che dovremmo fare.
nimcap,

1
BES non è in grado di limitare Windows Live Mesh (MOE.exe); continua a utilizzare il 95% indipendentemente da qualsiasi impostazione. Gli altri non possono essere d'aiuto perché è già impostato su Inattivo. Rende comunque molto lento l'intero sistema operativo.
Roman,

Giusto. Il BES è l'unico che esegue un limitatore% cpu. Perché è in terza posizione ?? :(
erm3nda

Dalla pagina web di BES: "sì, BES è uno strumento che periodicamente fa dormire il bersaglio per un tempo molto breve".
mtone,

15

La soluzione più semplice che ho trovato è limitare la potenza del processore.

  1. Vai al Pannello di controllo.
  2. Hardware e suono
  3. Opzioni di risparmio energia
  4. Modifica le impostazioni del piano
  5. Modifica le impostazioni di potenza avanzate
  6. Gestione dell'alimentazione del processore
  7. Stato massimo del processore e abbassarlo all'80% o qualunque cosa tu voglia. Usando un software che misura le temperature della CPU come 'Speed ​​fan' vedrai che le temperature scendono.

Puoi anche regolare la politica di raffreddamento in quanto la modalità passiva può essere d'aiuto
CrandellWS

9

Sicuramente questa è una vecchia domanda ma sono sorpreso che nessuno l'abbia ancora suggerito:

Riduci la velocità della tua CPU.

Praticamente tutti i laptop e Windows stessi hanno meccanismi integrati per regolare dinamicamente la velocità del processore in base al carico. È possibile ignorare questo comportamento, ad esempio nel Pannello di controllo => Opzioni risparmio energia => Avanzate, è possibile impostare una velocità massima del processore inferiore al 100%. Il tuo processore sarà quindi limitato a una velocità inferiore e quindi genererà meno calore, aumentando il numero di cose che stai facendo.

Ciò non richiede software aggiuntivo e, cosa più importante, ridurre la velocità della CPU rende il processore più efficiente , quindi è una soluzione migliore che limitare l'utilizzo della CPU in Windows. L'uso del 50% di un processore a 2,0 Ghz utilizzerà una potenza notevolmente maggiore rispetto al 100% di un processore a 1,0 Ghz. Meno potenza = meno calore.



5

In Windows 10, 8 e 7:

  1. Vai a Task Manager.
  2. Fare clic con il tasto destro del mouse sul processo per il quale l'utilizzo della CPU deve essere limitato. Fai clic su Vai ai dettagli .
  3. Ora apparirà la scheda dettagli. Fare clic con il tasto destro del mouse su un determinato processo, selezionare imposta affinità e scegliere i core che verranno consentiti dal processo specifico.

1
In Windows 7, facendo clic con il pulsante destro del mouse su un processo in Task Manager viene visualizzato un menu di scelta rapida e una delle opzioni è "Imposta affinità" che funziona come descritto.
David Richerby,

Il processo che voglio limitare l'utilizzo della CPU è disattivato. L' Vai alla scheda è in grigio.
Santosh Kumar,

3

Invece di scaricare un programma per farlo, se vai al task manager e vai ai dettagli vedrai un elenco dei processi che stai eseguendo. Se si fa clic con il pulsante destro del mouse e si utilizza l'opzione "imposta affinità" anziché "imposta priorità", è possibile selezionare il numero di core utilizzati da un singolo programma, limitando quindi la quantità di utilizzo della CPU da parte del programma.


La maggior parte dei programmi sono a thread singolo, quindi impostare l'affinità su 1 core non ti aiuterà affatto. (I programmi a thread singolo possono utilizzare solo un singolo core cpu e in primo luogo non utilizzavano più di un core.)
CausingUnderflowsOwherewhere

3

Un altro modo molto conveniente per impostare l'affinità di un certo eseguibile all'avvio è usare il comando start .

ad esempio "start / affinity F iexplore.exe". Se esiste una singola applicazione che si desidera avviare in modo così limitato, è possibile creare un collegamento con questo comando. Si noti che l'affinità è impostata da un valore esadecimale, che potrebbe richiedere alcuni tentativi ed errori. Controlla il processo in Task Manager per visualizzare l'effettivo risultato di affinità!

Scopri di più qui: http://blogs.msdn.com/b/santhoshonline/archive/2011/11/24/how-to-launch-a-process-with-cpu-affinity-set.aspx


2

In questi giorni, la soluzione migliore è limitare l'uso della CPU per processo limitando l'affinità della CPU (core a cui il processo ha accesso). Hai meno precisione (puoi limitarti solo a determinate percentuali), ma si tratta di un'operazione più naturale rispetto al tentativo di sospendere e riprendere periodicamente i thread di processo. Process Lasso fa un ottimo lavoro con affinità CPU predefinite (persistenti). Tuttavia, ha anche una limitazione "dura" dello stile BES, sebbene ciò non sia raccomandato poiché è un atto così innaturale.


1

Un underclocking della CPU ti consentirà di raggiungere velocità della CPU più basse, riducendo il calore prodotto. Potresti aver bisogno di esperienza avanzata se la tua scheda madre o CPU non ha un mezzo per modificare la velocità di clock usando un programma scaricabile. (Cerca i programmi di utilità di overclock per la tua CPU o scheda madre (solo dal produttore della tua CPU e scheda madre), tieni presente che ti interesserà il underclocking.)

Nel caso in cui non vi siano utilità disponibili, dovrai accedere al BIOS del tuo computer e modificare la velocità di clock del tuo processore. Il modo più semplice è impostare il moltiplicatore su un numero inferiore. Non toccare le tensioni perché ciò può danneggiare la CPU se è troppo alta o causare errori quando è troppo bassa. Nemmeno le frequenze dovrebbero essere modificate, ma solo il moltiplicatore. Per ripristinare le impostazioni predefinite, leggere il manuale del BIOS per determinare il tasto da premere per ripristinare le impostazioni predefinite. (O semplicemente ispezionare attentamente la schermata del BIOS, in particolare la schermata di uscita.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.