Mac :: Renice

Cette astuce est utilisable uniquement lorsque vous avez une application qui sollicite beaucoup le processeur, les derniers « quad core » d’Intel ont de la puissance à revendre, sur ce type de machine cette méthode à un intérêt moindre.

Lorsque vous utilisez un Mac, vous avez la sensation que plusieurs taches s’exécutent en même temps, pourtant à la base un Mac n’a qu’un seul processeur, dès lors il doit gérer une file d’attente pour que tous les logiciels ou fonctions du système puissent avoir un peu de temps consacré par le processeur.

La bonne solution pour qu’un logiciel soit plus réactif est de limiter le nombre d’applications qui fonctionnent en même temps, ainsi votre application aura plus de « temps de calculs » . Malheureusement, ce n’est pas toujours possible, Mac Os X est aussi constitué d’un ensemble de « services » qui fonctionnent en tache de fond (appelés démons ou processus), vouloir les supprimer c’est se défaire de fonctions souvent indispensables, alors que faire ? la dernière solution : gérer les priorités entre tous les « processus » qui tournent sur votre Mac.

Gérer la file d’attente des processus ne vous apportera pas de puissance de calculs supplémentaires, simplement donnera un peu de priorité à certain logiciel au dépend d’autres, si vous effectuez de l’encodage vidéo, de la retouche de photo par lot etc.… Cette approche peu avoir un intérêt si vous n’avez pas dédié une machine puissante.

Lorsque vous lancez une application par défaut son niveau de priorité est : « zéro », ainsi, dans la file d’attente « nulle ne passe en priorité », pour modifier le niveau de priorité d’une application il faut utiliser son « PID », le Process ID (Process Identity) est un numéro attribué à un processus (programme) exécuté sur l’ordinateur, il est unique. Si vous fermiez votre application et que vous la relanciez, il y a peu de chance que le PID soit le même.

Comment récupérer le PID, le plus simple est d’utiliser l’utilitaire « Moniteur d’activité » que vous trouverez dans le dossier utilitaire, le PID correspond à la colonne de droite « N° de l’Opération », par exemple dans mon cas Word porte le numéro 7712.

Image 1.jpg

Une autre solution consiste à utiliser le terminal et de taper la ligne suivante :

$ ps ax | grep word 

(remplacer word par l’application que vous souhaitez identifier).

Vous obtiendrez quelque chose d’apparent :
$ ps ax | grep word
7761 p1 S+ 0:00.01 grep word

La commande magique est : « renice » (voir dans le terminal: man renice) , au départ certains processus système voient leur priorité établit par « nice » (voir dans le terminal : man nice). Lorsqu’il s’agit de priorité, il ne s’agit pas de dire premier ou dernier, il faut établir une échelle, elle commence à « -20 » et monte jusqu’à « +20 », pour « ralentir » une application utilisez des valeurs positive (étrange) et la valeur +20 indiquera au système que la priorité à donner est la moins élevée.

Si maintenant vous voulez augmenter la priorité, utilisez une valeur « négative » ainsi « -20 » donnera à votre application la plus haute priorité, les concepteurs d’unix n’étant pas des « écervelés » (quoi que) , ils prirent quelques protections, ainsi vous pouvez « ralentir » les processus avec votre compte utilisateur, mais vous ne pouvez pas « accélérer » une tache sans être administrateur :

La commande suivante (baisse de priorité) ne pose pas de problème :

$ renice +15 5671

Par opposition celle-ci (hausse de la priorité) ne fonctionnera pas avec votre compte utilisateur:

$ renice -10 5671
renice: 5671: setpriority: Permission denied

Pour que cela fonctionne, vous devez utiliser « sudo » :

$ sudo renice -10 5671

Après la saisie de votre mot de passe, la commande sera prise en compte.

Le gros problème de « renicer » c’est qu’il faille à chaque redémarrage d’application retrouver le PID, il existe bien un script Applescript, mais cela ne reste pas très simple, Pour maintenir un niveau priorité sur une application utilisez : « Renicer » de NorthenSoftworks ( )

Image 2.jpg

Vous aussi trouverez un utilitaire qui lui donne un maximum de priorité aux applications de premier plan: « Speed Freak » ( http://home.comcast.net/~jeff.ulicny/software/)

Utiliser « Renice » peut vous procurer plus de « temps de calculs » pour votre programme, mais cela ne sera perceptible que sur des applications nécessitant de la puissance processeur, n’oubliez pas qu’il s’agit d’un ratio, vous avez une puissance de calculs, cette puissance n’est extensible, mais en son sein vous pouvez gérer les priorités.

HDR
Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

w

Connexion à %s