brider le % de CPU pour les programmes windows 7

brider le % de CPU pour les programmes windows 7 - Win 7 - Windows & Software

Marsh Posté le 04-06-2012 à 10:18:23    

Bonjour,
 
Je suis sous windows server 2008 et en lançant keyshot je me rends compte que les 4 coeurs de mon i5 sont à 100%, sans rien faire ! juste en fond.
 
cela veut dire qu'il requisitionne TOUT le CPU? et donc derriere je ne peux pas faire tourner d'autres programmes (serveur TF2/Minecraft) ?  
 
Windows 7/server 2008 gère automatiquement le partage de la puissance de calcul?
 
merci

Reply

Marsh Posté le 04-06-2012 à 10:18:23   

Reply

Marsh Posté le 04-06-2012 à 10:20:19    

Tu as regardé dans le gestionnaire de tâches pour trouver le coupable ?

Reply

Marsh Posté le 04-06-2012 à 10:22:23    

oui c'est keyshot ! il prend 99% même sans avoir lancé un rendu, juste en le mettant en route.
 
la question que je me pose c'est de savoir à quoi correspondent ces 100%, si il les "bloque" en attendant et que donc je ne peux pas utiliser mon serveur avec ce programme lancé, ou si apres windows "distribue" automatiquement la puissance de calcul.

Reply

Marsh Posté le 04-06-2012 à 11:29:00    

le probleme cest que mon serveur héberge pas mal de services, minecraft, keyshot, BOINC, et je voulais savoir si c'est possible de distribuer manuelement le CPU ou si windows le fait auto.
 
par exemple, keyshot prend 99% du CPU au lancement, mais ils ne sont pas utilisés à fond, j'ai pu tester en lancant minecraft qu'effectivement, les 99% diminuent pour que le serveur puisse tourner.

Reply

Marsh Posté le 04-06-2012 à 12:03:50    

Je connais pas ce programme, mais c'est quand même étrange que sans rien faire, il pompe autant de CPU, doit être un bug qqe part dans le programme
 
au pire, tu peux réduire sa priorité dans le gestionnaire de tache, vois même le limiter a 1 core


---------------
#mais-chut
Reply

Marsh Posté le 04-06-2012 à 12:09:55    

merci et cette manipulation doit être effectuée à chaque redemarage de la machine?

Reply

Marsh Posté le 04-06-2012 à 12:23:36    

Je crois, oui, mais ca doit etre possible de le faire en automatique


---------------
#mais-chut
Reply

Marsh Posté le 04-06-2012 à 19:22:44    

bonjour je voudrais savoir si un serveur minecraft est considéré comme un programme ou comme une " tache de fond " par windows server?
 
dans les propriétés des performances on peut en effet choisir entre privilegier les programmes ou les services tournant en fond ...

Reply

Marsh Posté le 04-06-2012 à 20:16:20    

up

Reply

Marsh Posté le 04-06-2012 à 21:12:46    

Programme --> tout ce qui tourne dans le contexte utilisateur
Tâche de fond --> tout ce qui tourne en tant que service
 
En général un 2K8 Server privilégiera par défaut les services car il est habituel de faire tourner des serveurs dessus qui le plus souvent sont déployés sous forme de services windows.
 
Outre le fait qu'il n'est pas normal que ton programme bouffe 100% du CPU si tu ne lui demande rien. Tu peux néanmoins éviter que ton programme rende ta machine peu réactive en utilisant différentes astuces.
 
En supposant que ton "keyshot" ne soit pas un service, la première astuce consiste par passer par un batch qui en utilisant la commande START de Windows lance ton "keyshot". Cette commande te permet de régler le niveau de priorité sur IDLE via le paramètre /LOW et l'affinité à un seul core via /AFFINITY et ce dès le démarrage du soft sans avoir à repasser manuellement par le gestionnaire de tâches. L'aide de ladite commande :

Citation :

Ouvre une fenêtre et exécute le programme ou la commande spécifiée.
 
START ["titre"] [/D chemin] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
      [commande/programme] [paramètres]
 
    "titre"     Titre de la fenêtre.
    chemin      Répertoire de départ.
    B           Lance l'application sans créer de fenêtre. L'arrêt
                par ^C n'est pas pris en charge dans l'application.
                Si l'application n'autorise pas la détection de ^C, ^Pause
                est la seule façon d'arrêter l'application.
    I           Le nouvel environnement sera l'environnement original
                passé à cmd.exe, et non pas l'environnement actuel.
    MIN         Démarrer avec la fenêtre réduite.
    MAX         Démarrer avec la fenêtre agrandie.
    SEPARATE    Démarrer les programmes Windows 16 bits dans un espace
                mémoire distinct.
    SHARED      Démarrer les programmes Windows 16 bits dans un espace
                mémoire partagé.
    LOW         Démarrer l'application dans la classe de priorité IDLE.
    NORMAL      Démarrer l'application dans la classe de priorité NORMAL.
    HIGH        Démarrer l'application dans la classe de priorité HIGH.
    REALTIME    Démarrer l'application dans la classe de priorité
                REALTIME.
    ABOVENORMAL Démarrer l'application dans la classe de priorité ABOVENORMAL.
    BELOWNORMAL Démarrer l'application dans la classe de priorité BELOWNORMAL.
    NODE        Spécifie le noud 'achitecture NUMA favori
                sous forme d'entier.
    AFFINITY    Spécifie le masque d'affinité de processeur sous forme
                d'hexadécimal. Le processus est restreint à ces processeurs.
 
                Le masque d'affinité est interprété différemment quand
                /AFFINITY et /NODE sont utilisés conjointement. Spécifiez
                le masque d'affinité comme si le masque de processeur
                du noud NUMA est décalé vers la droite pour commencer au bit
                zéro. Le processus est restreint aux processeurs communs
                au masque d'affinité et au noud NUMA spécifiés.
                S'il n'existe pas de processeurs communs, , le processus est
                limité par le noud NUMA spéciifé
    WAIT        Lancer l'application et attendre qu'elle mette fin à la
                commande ou au programme. S'il s'agit d'une commande interne
                ou d'un fichier batch, le processeur de commandes est exécuté
                avec le commutateur /K pour cmd.exe. Ceci signifie que
                la fenêtre reste ouverte après exécution de la commande.
                S'il ne s'agit pas d'une commande interne, ni d'un fichier
                batch, il s'agit d'un programme qui s'exécutera sous la
                forme d'une application fenêtrée ou d'une application console.
 
   paramètres  Spécifie les paramètres à passer à la commande ou au programme.
 
REMARQUE : les options SEPARATE et SHARED ne sont pas prises en charge sur
           les plateformes 64 bits.
 
Le fait de spécifier /NODE permet de créer des processus qui utilisent
la mémoire locale sur les systèmes NUMA. Par exemple, deux processus
qui communiquent entre eux de façon intense via la mémoire partagée peuvent
être créés de façon à partager le même noud NUMA favori afin de réduire
les temps d'attente mémoire. Ils allouent la mémoire du même noud NUMA
si possible, et peuvent s'exécuter sur des processeurs en-dehors du noud
spécifié.
 
    start /NODE 1 application1.exe
    start /NODE 1 application2.exe
 
Ces deux processus peuvent être encore restreints à des processeurs
spécifiques dans le même noud NUMA. Dans l'exemple qui suit, application1
s'exécute sur deux processeurs inférieurs du noud, while alors qu'application2
s'exécute sur les deux processeurs suivants du noud. Cet exemple suppose que
le noud spécifié comporte au moins qutre processeurs logiques. Notez que
le numéro du noud peut être changé en n'importe quel autre numéro de noud
sans modification du masque d'affinité.
 
    start /NODE 1 /AFFINITY 0x3 application1.exe
    start /NODE 1 /AFFINITY 0xc application2.exe
 
Si les extensions de commandes sont activées, l'invocation des extensions
de commandes dans la ligne de commandes ou la commande START sont modifiées
comme suit :
 
Les fichiers non exécutables peuvent être invoqués via leur association de
    fichiers en tapant le nom du fichier en tant que commande (ex :  WORD.DOC
    ouvrirait l'application associée à l'extension de fichier .DOC). Voir les
    commandes ASSOC et FTYPE pour savoir comment créer ces associations depuis
    un script de commandes.
 
Lors de l'exécution d'une application GUI 32 bits,
    CMD.EXE n'attend pas que l'application se termine avant de revenir à
    l'invite de commandes. Ce nouveau comportement ne se produit PAS s'il
    est exécuté depuis un script de commandes.
 
Lors de l'exécution d'une ligne de commandes dont la première partie est la
    chaîne "CMD " sans extension ni qualificateur de chemin d'accès, "CMD" est
    remplacé par la valeur de la variable COMSPEC. Ceci permet de ne pas
    utiliser le CMD.EXE du répertoire en cours.
 
Lors de l'exécution d'une ligne de commandes dont la première partie ne
    contient PAS d'extension, CMD.EXE utilise la valeur de la variable
    d'environnement PATHEXT pour déterminer les extensions à rechercher et
    leur ordre. La valeur par défaut de la variable PATHEXT est :
 
        .COM;.EXE;.BAT;.CMD
 
    Notez que la syntaxe est identique à celle de la variable PATH, avec des
    point-virgule séparant les divers éléments.
 
Lors de la recherche d'un exécutable, s'il n'y a pas de correspondance pour
l'extension, une recherche est effectuée pour vérifier la correspondance entre
nom de fichier et nom de répertoire. S'il y a correspondance, la commande
START ouvre l'explorateur sur ce chemin d'accès. Si cela est fait à partir de
la ligne de commandes, cela est équivalent à effectuer CD /D vers ce chemin
d'accès.


 
La deuxième, un peu plus compliquée, serait de virtualiser tes serveurs. Plutôt que de faire tourner tes serveurs sous le même OS hôte, tu créés des machines virtuelles avec chacune leur OS. En général les hyperviseurs, que ce soit VMWare vSphere, Citrix XenApp ou Microsoft HyperV permettent de gérer finement les ressources attribuées à chaque VM (mémoire, nombre de CPU virtuels, priorité, ...). Ca aurait aussi l'avantage d'éviter les conflits logicielset de mieux cloisonner les différents services.

Reply

Marsh Posté le 04-06-2012 à 21:12:46   

Reply

Marsh Posté le 05-06-2012 à 07:02:25    

Bonjour,
je rejoins les avis ci-dessus pour les 100% d'utilisation CPU.  
Voilà quand même  un programme qui permet en théorie de régler l'affinité CPU/programme  
http://www.bill2-software.com/processmanager/
Voir si il fonctionne sur 2008 Serveur

Reply

Marsh Posté le 07-06-2012 à 14:01:45    

MERCI beaucoup à tous !!!

 

@ requin, sacré tuto merci c'est vraiment top !

 


Message édité par glandsec le 07-06-2012 à 14:03:40
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed