Pages : 1
#1 Le 14/04/2009, à 01:04
- Tomzz
Priorité des processus avec nice
Bonsoir,
J'utilise OpenSI pour ma gestion et je l'ai installé sur un eeebox Ubuntu 8.10 (9.04 bientôt...).
Si cette config est suffisante pour mon utilisation j'ai malgré tout remarqué des ralentissements désagréables sous OpenSI (serveur sous Apache Tomcat, le client est une extention de Firefox).
J'ai fais des tests en lançant FF avec une priorité nice à -19
sudo nice -n -19 firefox -chrome chrome://opensi/content/login.xul
Et là plus de ralentissements mais cela pose des problèmes de sécurité.
Il n'est pas souhaitable de lancer OpenSI en root.
La solution d'autoriser nice sans mot de passe par sudoer ne convient pas car si le mot de passe n'est plus demandé FF est quand même lancé en root.
En plus il devient alors possible de lancer n'importe quelle commande sudo sans mot de passe du moment qu'elle est précédée de nice.
Je cherche donc une solution pour lancer une commande avec nice négatif sous un utilisateur normal.
Et au passage y a t'il des risques a lancer un logiciel avec une priorité de -19
Je precise que pour diverses raisons je souhaite rester sous Gnome, même si FF semble plus rapide sous KDE
Hors ligne
#2 Le 15/04/2009, à 00:00
- best_friend_fr
Re : Priorité des processus avec nice
Salut
Les nice négatif sont normalement réservés aux taches système (d'ou la restriction à root).
Mettre un nice à -19 fait passer ton processus devant les script du système... idée moyenne a mon avis.
sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr
Hors ligne
#3 Le 15/04/2009, à 00:23
- mkman
Re : Priorité des processus avec nice
bonjour,
Je pense que la commande renice peut convenir:
on lance openSI
on le renice -19 (je connais pas par coeur, mais la page man peut aider pour la syntaxe)
il est toujours issue de user, et non de root ( peut etre? )
(Si le probleme vient des entées sortie, ionice peut aider)
Hors ligne
#4 Le 15/04/2009, à 11:07
- Tomzz
Re : Priorité des processus avec nice
Merci pour vos réponses.
Je n'ai pas encore testé ionice (pas ralumé l'eeebox) mais je doute que ce soit un problème de disque, le ralentissement est identique que je connecte le client sur le serveur local ou sur un serveur distant.
Il semble que se soit java qui soit gourmand, chaque requètes provoque une charge cpu proche de 100%.
Pour comparer, jai chronométré le temps d'ouverture de la fenètre recherche d'articles depuis le menu principal d'OpenSI
Nice à 0 (normal)
sur eeebox: 5 secondes cpu ~100%
sur atlhon 3000+ 2go de ram: 2 secondes cpu ~100%
Nice à -19 (maxi)
sur eeebox: 3 secondes cpu ~100%
sur atlhon 3000+ 2go de ram: 2 secondes cpu ~100%
Je me demande si il y a moyen d'optimiser l'execution d'OpenSI, il semble que le problème vienne du client car si je me connecte au serveur OpenSI (Tomcat6) de l'eeebox depuis le pc atlhon ça marche bien.
EDIT: mkman m'a peut être donné la solution avec renice, je teste pour intégrer ça dans un script de lancement
merci
Sinon peut on lancer un processus avec un nice négatif sans que ce processus s'execute en root, le fait de devoir lancer la commande en root avec mdp ne me gène pas mais je ne veux pas qu'OpenSI s'execute en root.
Lors de mes tests je n'ai pas eu de soucis liés à une priorité trop élévé mais si une solution est trouvé j'essayerai avec un nice > -19
Au passage j'ai vu quelques post proposant d'inscrire nice dans le sudoer, attention après ça toutes les commandes peuvent s'exécuter en root sans mdp si on les fait précéder de nice.
Ps: j'ai posté ma première question un peu tard et du coup je me suis trompé de forum (matériel !!!) alors si un modo veux le déplacer ...
Edit: mkman m'a peut-être donné une soluce avec renice, je teste pour l'intégre dans un script de lancement.
Merci
Dernière modification par Tomzz (Le 15/04/2009, à 11:16)
Hors ligne
#5 Le 15/04/2009, à 14:02
- Tomzz
Re : Priorité des processus avec nice
Merci, la solution renice semble marcher:
#!/bin/bash
#
$(sleep 2
PID=$(pgrep firefox)
gksudo -t --message "OpenSI"
sudo renice -18 --pid $PID) | firefox -chrome chrome://opensi/content/login.xul
exit 0
Le script est un peu bizare parce que je ne parvenais pas à executer les 2 commandes en même temps (renice et firefox), je débute avec les scripts.
Le sleep 2 permet de laisser le temps à la fenetre OpenSI de s'ouvrir, sinon je ne trouve pas le PID.
Les commentaires sur cette solution sont les biens venus alors je vais attendre un peu avant de mettre résolu.
Ce truc doit pouvoir s'adapter à n'importe quoi, attention cependant, temps que je ne n'ai pas refermé Opensi et toutes les fenètres Firefox toutes les nouvelles fenètres FF s'ouvrent avec une priorité à -18
Dernière modification par Tomzz (Le 22/04/2009, à 00:19)
Hors ligne
Pages : 1