Limitare l'utilizzo della CPU di un servizio di Windows .NET
-
19-09-2019 - |
Domanda
esiste un modo per strozzare l'utilizzo della CPU di un servizio di Windows che è scritto in .NET, sia all'interno del codice di servizio o all'esterno. Impostazione del thread corrente per la priorità più bassa non è un'opzione, ma non appena eccezioni cominciano a verificarsi il carico della CPU va in su, è possibile limitare questo?
Soluzione
In questi giorni di memoria larghezza di banda e l'uso della cache del processore è in corrispondenza di un problema è il tempo di CPU.
Non so di un sistema operativo che ha tenuto il passo ...
Si potrebbe provare a utilizzare un Thread.Sleep a dormire per il 50% del tempo di muro, disordinato, ma può funzionare.
Altri suggerimenti
È necessario dare un'occhiata più da vicino la vostra applicazione. Perché è gettando le eccezioni, e perché sono quelle eccezioni usando così tanto CPU?
Se avete bisogno di controllare l'utilizzo della CPU al di fuori del codice Io suggerirei di usare Threadmaster http: //threadmaster.tripod .com / e 'un po' datata, ma ho usato in passato ed è stato in grado di risolvere con successo il mio problema.
Questa non è l'ideale per una soluzione a lungo termine, ma potrebbe essere un buon strumento in alcuni scenari specifici.