Par programme limiter l'utilisation du PROCESSEUR par n'importe quelle application sur Windows 7?
Je suis à la recherche d'un moyen de limiter l'utilisation du PROCESSEUR par n'importe quelle application de Windows 7 à 50%. J'ai essayé de chercher sur Internet un moyen de faire cela, et il semble que c'est une chose facile à faire sur Linux et Mac OS X (une commande dans le terminal), mais je ne suis pas sûr de la façon de le faire sur Windows 7. Toute aide serait grandement appréciée. Merci!
Rohan
Que sur les processeurs multi-core? 50% d'utilisation du PROCESSEUR serait tout simplement de limiter le processus de ne pas utiliser plus que la moitié des noyaux.
OriginalL'auteur Rohan | 2010-05-05
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser BES.
Il l'étrangle gourmandes applications lorsque demandé.
Vous pouvez limiter les 3 programmes au maximum.
Je l'utilise pour exécuter plusieurs jeu en ligne les clients et il fonctionne comme un charme pour moi.
Vous devez l'exécuter en admin privilidges et windows xp sp3 mode compatible.
Pour régler ces paramètres, cliquez-droit sur l'exécutable et choisir "options".
Voici le lien pour BES - CPU limiteur.
OriginalL'auteur Aziz Kerimoglu
Si vous êtes sur un processeur multi-core, vous pouvez cliquer droit sur le processus dans le gestionnaire des tâches et définir l'affinité. Cela permettra de définir qui sont des noyaux autorisé à exécuter le processus. Décochez la moitié des carottes et le processus de l'utilisation de 50%.
Ou voir pour faire programagically: Définir une affinité avec start /AFFINITÉ de commande sur Windows 7
OriginalL'auteur bradvido
Vous ne pouvez pas limiter l'utilisation du PROCESSEUR d'un processus sur Windows 7 ou une version antérieure que cette ressource est gérée par le système d'exploitation*.
Cependant, vous pouvez choisir d'exécuter un processus avec une certaine priorité, par exemple, pour exécuter en dessous de la normale priorité. Les différents planification des priorités peuvent être définies à l'aide de la
SetPriorityClass
la fonction de l'API.Ce que vous êtes probablement en train de l'empêcher, c'est que votre processus affecte les performances du système, de manière que l'utilisateur avis. Dans ce cas, le réglage approprié des priorités sera une solution. Après tout, vous avez eu une cher CPU alors pourquoi ne pas l'utiliser chaque fois que vous pouvez?
* Voir @Ben Voigt réponse pour une solution possible sur Windows 8 et ci-dessus.
Voigt: Pourquoi si arrogant? Eu une mauvaise journée? JOBOBJECT_CPU_RATE_CONTROL_INFORMATION est nouveau dans Windows 8 (et Windows Server 2012) et la question fait référence à Windows 7. Malheureusement, je n'ai pas le temps de faire régulièrement vérifier si l'une de mes anciennes écritures besoin d'une mise à jour car il y a une version plus récente du produit xyz.
Merci de remarquer que la structure particulière qui est nouveau dans Windows 8. J'ai trouvé le mauvais. La capacité a existé pendant une longue période de temps, votre réponse est encore (complètement) incorrect.
Voigt: je vois bien comment les choses comme le temps total ou le total du temps à l'utilisateur d'un processus peut être limitée à l'aide de la solution que vous suggérez. Cependant, la question qui se pose ici est différent et la documentation de la JOBOBJECT_BASIC_LIMIT_INFORMATION structure ne dit pas un moyen de réaliser un scénario où un processus ne consomme que par exemple, 50 % de la CPU dans une fenêtre de temps. Dur de gestion des quotas (technet.microsoft.com/en-us/library/ff384148%28WS.10%29.aspx), qui fonctionne par session, par utilisateur ou par le système est probablement aussi loin que vous pouvez obtenir sur Windows 7.
Que la documentation indique clairement que vous pouvez définir une limite matérielle (le processus est terminé) ou recevoir une notification, qui permet de prendre toutes les mesures qui affectent l'utilisation de l'UC -- vous pourriez faire ce que Windows 8 intègre désormais qui est de suspendre le processus temporairement. Ou vous pouvez modifier la priorité et de l'affinité. Ou une combinaison.
OriginalL'auteur Dirk Vollmar
Vous pouvez limiter l'utilisation du PROCESSEUR de votre processus ou de tout autre processus en ajoutant le processus de l'intérêt pour un objet de Travail, et à placer des limites sur l'objet de Travail.
L'une des limites de ressource qui peut être configuré pour l'Emploi des objets est l'utilisation de l'UC:
JOBOBJECT_BASIC_LIMIT_INFORMATION
disponible depuis Windows XP et 2003JOBOBJECT_CPU_RATE_CONTROL_INFORMATION
nouveautés de Windows 8 et Server 2012.Si vous devez utiliser
JOBOBJECT_BASIC_LIMIT_INFORMATION
, prêter attention à la remarque:Et ensuite utiliser
JOBOBJECT_END_OF_JOB_TIME_INFORMATION
au lieu de cela, puisque c'est disponible en pré-Windows 8.OriginalL'auteur Ben Voigt
Vous pouvez utiliser un excellent programme appelé "process lasso".
En lasso vous pouvez, par exemple, la limite de certains programmes spécifiques pour 1 CPU et la faible priorité. Chaque copie de ce programme sera exécuté avec ces paramètres. J'ai utilisé ce programme pour gérer CPU sur le serveur terminal server et ça a très bien fonctionné!
OriginalL'auteur wojtek