Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1322 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [PYTHON] Limitation ressources processeur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PYTHON] Limitation ressources processeur

n°1062809
fargo_01
Posté le 27-04-2005 à 14:50:09  profilanswer
 

Bonjour.
 
Je développe actuellement un outil en python. Cet outil utilise 100% de mon cpu. Je dois le limiter à 50%, je recherche donc une manière simple d'effectuer cette limitation. J'ai trouvé la fonction os.nice() qui est utile, mais disponible uniquement sous Windows, et l'outil va tourner principalement sur cet os.
 
Quelqu'un a une idée à me soumettre ?
 
Merci

mood
Publicité
Posté le 27-04-2005 à 14:50:09  profilanswer
 

n°1062811
black_lord
Truth speaks from peacefulness
Posté le 27-04-2005 à 14:52:19  profilanswer
 

Citation :

J'ai trouvé la fonction os.nice() qui est utile, mais disponible uniquement sous Windows, et l'outil va tourner principalement sur cet os.
 


 
il est ou le problème :??:


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1062813
fargo_01
Posté le 27-04-2005 à 14:53:18  profilanswer
 

pardon, je me suis trompé.
 
os.nice() n'est disponible que sous _Unix_, pas Windows

n°1062816
HelloWorld
Salut tout le monde!
Posté le 27-04-2005 à 14:55:28  profilanswer
 

Y'a pas de quota CPU sous Windows, juste des priorité. Tu peux abaisser sa priorité. Il utilisera 100% du CPU si aucun autre process ne tourne, et 0% si un autre process en a besoin.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°1062817
black_lord
Truth speaks from peacefulness
Posté le 27-04-2005 à 14:55:39  profilanswer
 

OS en bois  [:_jbm]


Message édité par black_lord le 27-04-2005 à 14:56:15

---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1062822
fargo_01
Posté le 27-04-2005 à 14:58:20  profilanswer
 

HelloWorld a écrit :

Y'a pas de quota CPU sous Windows, juste des priorité. Tu peux abaisser sa priorité. Il utilisera 100% du CPU si aucun autre process ne tourne, et 0% si un autre process en a besoin.


 
Ca me convient tout à fait d'abaisser la priorité de mon processus. Je dois utiliser quoi ?

n°1062823
masklinn
í dag viðrar vel til loftárása
Posté le 27-04-2005 à 14:58:20  profilanswer
 

HelloWorld a écrit :

Y'a pas de quota CPU sous Windows, juste des priorité. Tu peux abaisser sa priorité. Il utilisera 100% du CPU si aucun autre process ne tourne, et 0% si un autre process en a besoin.


[:plusun]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1062824
fargo_01
Posté le 27-04-2005 à 14:58:58  profilanswer
 


 
Le vieux troll poilu des bois ... :D

n°1062880
fargo_01
Posté le 27-04-2005 à 15:31:06  profilanswer
 

fargo_01 a écrit :

Ca me convient tout à fait d'abaisser la priorité de mon processus. Je dois utiliser quoi ?


 
Alors, plus personne ? [:androids974]

n°1062890
HelloWorld
Salut tout le monde!
Posté le 27-04-2005 à 15:36:09  profilanswer
 

Ca a trop d'intérrêt de limiter un processus à 50% quand y'a 100% de dispo, et de limiter 10 processus à 50% chacun.... Et personnelement j'ai du mal à bien cerner ce critère de poucentage de CPU.
M'enfin, il suffit que je me rappelle comment en TP on plantait quasi instantanément le PC des autres via ssh en executant un prog C de 2 lignes qui fait des fork et malloc en boucle pour me dire que ça aurait pu être pire.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
mood
Publicité
Posté le 27-04-2005 à 15:36:09  profilanswer
 

n°1062894
Taz
bisounours-codeur
Posté le 27-04-2005 à 15:37:42  profilanswer
 

t'as qu'à faire un programme qui mange moins de CPU c'est tou.

n°1062898
fargo_01
Posté le 27-04-2005 à 15:38:38  profilanswer
 

L'intéret, c'est tout simplement de ne pas monopoliser le pc pendant l'execution du script python. Le but est pas de limiter a 50 %, mais de faire croire a l'utilisateur qu'il peut encore travailler pendant ce temps. Pour l'instant, je ne peux même pas ouvrir un explorateur pendant l'execution, c'est pour ça que je recherche quelque chose pouvant baisser la priorité de mon script python.

n°1062902
fargo_01
Posté le 27-04-2005 à 15:39:55  profilanswer
 

Taz a écrit :

t'as qu'à faire un programme qui mange moins de CPU c'est tou.


 
Merci pour cette réponse constructive. J'ai des impératifs à respecter.

n°1062903
masklinn
í dag viðrar vel til loftárása
Posté le 27-04-2005 à 15:40:31  profilanswer
 

Faut récupérer le thread principal de ton app python et baisser sa priorité
 
Va voir du côté du module threading


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1062905
HelloWorld
Salut tout le monde!
Posté le 27-04-2005 à 15:42:12  profilanswer
 

Code :
  1. start /LOW python mon_script.py


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°1062907
fargo_01
Posté le 27-04-2005 à 15:43:59  profilanswer
 

ok, merci, je vais tester ça de suite

n°1062941
Taz
bisounours-codeur
Posté le 27-04-2005 à 16:02:54  profilanswer
 

le nice, c'est pas un quota CPU, comme son nom l'indique, c'est juste que ton processus va se comporter gentillement avec les autres processus et passer son tour si y a du monde qui a du travail au portillon.
 
Et non, je me fous pas de toi. Sur une machine de bureau, y a rien de plus ridicule que de brider l'usage CPU : le nice c'est bien, y a pas de temps CPU gaché. Avec ton histoire de limiter à 50%, tu vas te retrouver à foutre des sleep() et ton appli va passer son temps à dormir tout ça pour que ...
 
Alors sérieusement, si tu veux réduire l'usage CPU de ton programme (en supposant que c'est un programme qui tourne en tache de fond), et bien y a rien d'autre à faire que l'optimiser.

n°1062970
fargo_01
Posté le 27-04-2005 à 16:17:41  profilanswer
 

OK, j'avais pas compris l'utilisation de nice.
 
L'idée est vraiment de n'utiliser 100% du cpu que quand c'est nécéssaire, et surtout ne pas bloquer l'utilisateur. Je n'ai vraiment pas l'intention de brider l'utilisation du cpu.
 
Si seulement cet os était bien foutu, j'aurais même pas eu à me poser la question.
 
En tous cas, merci pour ces réponses.

n°1062973
masklinn
í dag viðrar vel til loftárása
Posté le 27-04-2005 à 16:18:31  profilanswer
 

fargo_01 a écrit :

Si seulement cet os était bien foutu, j'aurais même pas eu à me poser la question.


bien sûr que si, le problème de priorités existe sur tous les OS [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1062976
HelloWorld
Salut tout le monde!
Posté le 27-04-2005 à 16:20:18  profilanswer
 

Mais non, quand ton code est mauvais, c'est la faute de l'OS.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°1063013
fargo_01
Posté le 27-04-2005 à 16:38:30  profilanswer
 

HelloWorld a écrit :

Mais non, quand ton code est mauvais, c'est la faute de l'OS.


 
 :na: tu l'a même pas vu mon code !

n°1063015
fargo_01
Posté le 27-04-2005 à 16:39:20  profilanswer
 

masklinn a écrit :

bien sûr que si, le problème de priorités existe sur tous les OS [:spamafote]


 
je faisait surtout référence a la fonction nice

n°1063029
Taz
bisounours-codeur
Posté le 27-04-2005 à 16:52:49  profilanswer
 

fargo_01 a écrit :

OK, j'avais pas compris l'utilisation de nice.
 
L'idée est vraiment de n'utiliser 100% du cpu que quand c'est nécéssaire, et surtout ne pas bloquer l'utilisateur. Je n'ai vraiment pas l'intention de brider l'utilisation du cpu.
 
Si seulement cet os était bien foutu, j'aurais même pas eu à me poser la question.
 
En tous cas, merci pour ces réponses.


tu crois que les utilisateurs du SETI font comment ?

n°1063033
fargo_01
Posté le 27-04-2005 à 16:54:25  profilanswer
 

J'y avait pas pensé à celle là :)

n°1063053
masklinn
í dag viðrar vel til loftárása
Posté le 27-04-2005 à 17:04:04  profilanswer
 

fargo_01 a écrit :

je faisait surtout référence a la fonction nice


nice est simplement l'un des mécanismes de régulation de la priorité dispo sur Unix [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1064802
dividee
Posté le 28-04-2005 à 20:19:02  profilanswer
 

Pour le faire en Python sous Windows, en utilisant PyWin32:

Code :
  1. from win32process import GetCurrentProcess, SetPriorityClass, IDLE_PRIORITY_CLASS
  2. SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS)

n°1065490
fargo_01
Posté le 29-04-2005 à 11:32:14  profilanswer
 

merci

n°1070279
fargo_01
Posté le 03-05-2005 à 12:34:40  profilanswer
 

Pour info, j'ai trouvé la source du problème.
 
La surconsomation de resources ne venait pas de mon sciprt python, mais de l'editeur, IDLE.
 
Une fois lance en ligne de commandes (et non pas via IDLE), plus aucun problème, l'execution est quasi transparente.
 
Si ca peut servir a qqun.
 
@ +

n°1070302
Taz
bisounours-codeur
Posté le 03-05-2005 à 13:02:49  profilanswer
 

minable ... en gros tu faisais tourner le truc dans le debugger ...

n°1072055
nebucade
Posté le 04-05-2005 à 16:20:47  profilanswer
 

lol, idle c'est pratique mais fo quand meme pas l'utilisé a toute les sauses

n°1075160
fargo_01
Posté le 07-05-2005 à 22:37:44  profilanswer
 

Taz a écrit :

minable ... en gros tu faisais tourner le truc dans le debugger ...


 
J'adorerai toujours ta compréhension légendaire  :)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [PYTHON] Limitation ressources processeur

 

Sujets relatifs
[Python] [Regexp] mettre en minusculepython et makefile
programme python qui marche pas[Python] Affichage de fichiers EPS (Encapsuled PostScript)
[Python] Visualisation de fichier HTMLpython + zope !!!!!!!!!!!!!!!!!!
[Python] Les Toolkits disponibles[XSL] mon processeur XSL ne ferme plus les balises
[Python] Peut-on faire des dégradés avec Tkinter ?[Python] Petit programme de raycasting ( - de 3ko)
Plus de sujets relatifs à : [PYTHON] Limitation ressources processeur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR