limiter l'usage du processeur par une application

SolitarWolf

Membre confirmé
25 Décembre 2005
11
0
Bonjour,

malgré des recherches sur l'ensemble du forum avec des termes comme "cpu" et "processeur", je n'ai pas réussi à trouver de solution à mon problème, alors je poste le ici:

je possède un macbook cadencé à 2 GHz avec 1Go de ram, et lorsque j'utilise certaines applications, comme Gimp ou un émulateur de calculatrice graphique (Ti-92), ces programmes prennent anormalement toutes les ressources du CPU (100~104%), ce qui pousse le système de ventilation au maximum et déclenche un bruit qui ne passe pas inaperçu.... surtout dans un amphi. J'aimerais donc savoir s'il existe une application ou une manip à faire dans le terminal qui puisse gérer et diminuer la part de cpu attribuée à ces applications lorsqu'elle tournent (autour de 70~80%, de manière à empêcher ce bruit) ?

Merci.
 
Je me doute que l'initiateur de ce fil a du trouver une solution depuis longtemps mais... je me pose la même question et voici ce que j'ai pu trouver jusqu'ici.



----------------------
Note du modérateur (ici Aliboron) :
Et, comme on a bien entendu lu au préalable le message de Pascal77 en tête du forum "Applications" ou/et la table d'orientation, on profite du déterrage pour déménager vers "Mac OS X". Et hop !!!
Note de Bruno: du coup, il faut déplacer mon fil également, mais je ne vois pas comment faire :p
(edit: ah c'est malin de me le clôturer!)


---------- Nouveau message ajouté à 19h15 ---------- Le message précédent a été envoyé à 17h42 ----------

Pour ma part, je me suis décidé à réencoder tous mes .iso de dvd en MKV H264... Pourquoi pas :siffle:

Problème: j'ai lancé une bonne série d'iso dans Handbrake et celui-ci, bien évidemment, utilise 180% de CPU (2 coeurs donc).

J'ignore si c'est très bon d'utiliser 180% de CPU pendant une vingtaine d'heures (comme c'est parti là...!) ; quoi qu'il en soit, c'est quelque chose que je préfère éviter sur mon joli Mac (sur un PC du bureau ou un vieux coucou Windows à la maison, pas de problème ;))

Je suis donc à la recherche d'une solution pour limiter l'usage CPU pour cette application (je voudrais la fixer à qqch entre 50 et 75%. Quoique 75% d'un seul coeur, pas bien non-plus, j'aurais préféré 30% de chaque coeur par ex. (pas difficile le gars :D)

J'ai trouvé "Speed Freak" mais ça ne fonctionne pas; serait-ce parce que mon Handbrake est en 64bits (et qu'il y aurait incompatibilité du soft avec les processes 64bits?)

J'ai également trouvé ceci en ligne de commande mais ça veut dire que je vais devoir redémarrer HB via le shell. J'essaierai entre 2 iso :p

Merci pour toute aide !

PS: j'ai déjà réalisé avec bonheur que certaines applications (Photoshop si je me souviens bien) passent automatiquement en %age presque nul lorsqu'elles passent en "background"!
 
Puisqu'il a planté, tu peux donc le relancer avec la commande nice.
 
IL faut prendre l'exécutable qui se trouve au coeur de l'application.
Par exemple, pour Textedit, ce sera : "/Applications/TextEdit.app/Contents/MacOS/TextEdit".
Sinon, sans relancer le processus à prioritiser ou non, tu peux utiliser renice.
 
Merci bompi... :zen:

Pour le "coeur" de l'appli, je connaissais, mais en fait j'obtiens inlassablement "nice: Chess: No such file or directory" (dans cet exemple, j'utilise le logiciel Chess; je suis bien dans /Applications/Chess/Contents/MacOS/)

j'ai bien essayé "nice -n -25 Chess" (il me semble -25 pour -25% de cpu ?)
mais aussi :
- "nice -n25 Chess"
- "nice -n 25 Chess"
- "nice Chess"

Toujours en vain: "no such file...." :confused:
 
Il faut mettre "./Chess" si tu es dans le dossier qui convient. Ou le chemin complet jusqu'à l'exécutable.
 
Merci tardif mais sincère bompi ;)

Bon alors, en mode admin, il me dit "setpriority: Persmission denied" et il lance quand-même l'appli. Mais à 180% d'utilisation CPU, je pense qu'il n'a pas tenu compte de mes paramètres (-25!)

En mode root, il lance l'appli puis elle se ferme toute seule :heu: et le terminal me dit "Segmentation fault" :confused:

Voilou. Re-merci d'avance pour tout début d'explication. Moi je résume à "ça bugue"...
 
Ce que je te conseillerais :
- lancer l'application normalement
- utiliser la commande renice pour en modifier la priorité (avec sudo, je suppose).

Voir ici sa page de manuel (ou avec le Terminal, man renice).
 
bompi, je te remercie (très tardivement) de nouveau pour les infos!
J'ai pu faire entretemps plusieurs essais. Hélas, renice peut être utile quand 2 applications se "disputent" l'usage cpu. Il semble par contre totalement inutile pour réduire le cpu-usage d'une application très gourmande au milieu d'un certain nombre d'applications très "sages" en "usage low cpu" (mail + surf).

J'ai trouvé confirmation sur un forum de "cracks" unix/osx: "nice is not a solution to reduce the total CPU load". Un des intervenants a créé une appli en ligne de commande qui permet de régler l'usage cpu en %. Je vais tester et reviendrai commenter les résultats.

A+

---------- Nouveau message ajouté à 12h21 ---------- Le message précédent a été envoyé à 11h57 ----------

Je n'ai pas réussi via le lien précédent (pas précompilé pour OS/X peut-être?)

Via ce mini-soft en ligne de commande, CA MARCHE ENFIN ! YOUPIE :rateau:

Il faut prendre le fichier binaire cputhrottle.gz et bien taper "chmod +x cputhrottle" avant la 1ère utilisation.

La ligne de commande est comme suit :
>sudo ./cputhrottle <PID> <CPU%>

Apparemment, il faut diviser le pourcentage désiré par le nombre de processeurs (je mets 25 pour avoir 50% d'utilisation avec un dual core)

J'espère vraiment que ça aidera quelqu'un qui était dans le même cas que moi (pendant la nuit, je préfère que Handbrake prenne 8 heures pour encoder avec 50% de cpu que 2 heures avec 200%; et encore plus en journée d'utilisation normale, pour garder de la puissance sous le coude :cool:)

---------- Nouveau message ajouté à 12h53 ---------- Le message précédent a été envoyé à 12h21 ----------

Très positif: en réglant sur 30 (60%), l'usage cpu oscille entre 50 et 60%; Handbrake me donne comme ETA 30 minutes, alors qu'il donnait peut-être 23 minutes lorsqu'il utilisait 160 à 180% de cpu!
Comme quoi...
 
Ça s'annonçait bien... mais pas fonctionnel sous Lion.

Merci quand même. :coucou:
 
J'ai l'impression qu'il faut dorénavant installer soi-même la bibliothèque Boost.
 
J'ai l'impression qu'il faut dorénavant installer soi-même la bibliothèque Boost.

Ce n'est pas uniquement pour l'étape de compilation du source de CPUThrottle ? :heu:
 
On peut penser que si les includes ne sont plus livrés avec XCode, les bibliothèques ne le sont pas davantage.
D'où nécessité de trouver un remplacement pour compiler et exécuter.