Comments (26)
Merci pour la remonté de bug.
Je viens de publier la version 1?4b10, peux tu tester cette nouvelle version et voir si elle corrige ton problème ?
from glances.
Cela m'en a tout l'air, ça tourne sans soucis pour l'instant. Je réouvrirai un ticket, si je vois autre chose. Merci :).
from glances.
L'erreur est revenue mais après un certain temps de fonctionnement. Le contexte peut être, un mplayer qui crash ?!
J'ai installer la version 0.4.1 de psutil.
Je vois si cela fais de même ou tu préfères que je garde la 0.3.0 pour débogage ?
from glances.
Peux tu rester en version 0.3.0 pour PsUtil et récupérer la dernière version (beta 12) de Glances ?
from glances.
Je tente déjà de reproduire le bug avec la b10 peut être, non ?
En l'occurence, je n'ai pas encore réussi :/
from glances.
J'ai corrigé pas mal de truc entre la b10 et la b12, donc il vaut mieux faire un stress test sur cette dernière version :)
from glances.
ok ok
Quelle rapidité de réponse.
from glances.
La b12 à l'air de fonctionner, j'ai reproduis au mieux le contexte et glances n'a pas bronché. Cela dit la b10 avec ce même contexte recréé par mes soins non plus... Donc je suppute qu'il manque quelque chose mais je ne sais pas quoi.
En attendant, on peut dire que c'est clos.
from glances.
Problème reproduit, je n'ai pas pu isoler le déclencheur mais voilà l'erreur :
Traceback (most recent call last):
File "/usr/local/bin/glances.py", line 1389, in
main()
File "/usr/local/bin/glances.py", line 1369, in main
stats.update()
File "/usr/local/bin/glances.py", line 528, in update
self.update()
File "/usr/local/bin/glances.py", line 493, in update
self.processcount[str(proc.status)] = 1
File "/usr/lib64/python2.7/site-packages/psutil/init.py", line 200, in status
return self._platform_impl.get_process_status()
File "/usr/lib64/python2.7/site-packages/psutil/_pslinux.py", line 251, in wrapper
raise NoSuchProcess(self.pid, self._process_name)
psutil.error.NoSuchProcess: process no longer exists (pid=27989, name='cc1')
from glances.
J'en suis au 4ème plantage depuis la dernière fois. Il semble qu'une forte charge sur le CPU ne soit pas très apprécié par glances. A chaque fois, cela se produit durant une compil, ou lorsque je fais des choses qui surchargent le CPU. Enfin trois sur quatre c'était pendant une compil.
Très embêtant sur une gentoo :)
from glances.
Merci pour la précision, je vais essayer de reproduire le problème et étudier ta trace d'erreurs dès que possible.
from glances.
La source du problème me paraît simple, il essaie d'avoir des infos sur un processus qui n'existe plus.
Ça parait étonnant mais en fait, pas vraiment pendant une compilation (dans la backtrace on voit qu'il s'agit de cc1) : y a un paquet de cc1 qui sont ouverts à la chaîne par make.
En fait, le cc1 a été fermé entre le temps où la liste des processus a été faite et le temps de demander plus d'info à son propos.
from glances.
Je viens juste de lire le code, et je pense que le if (proc.is_running()):
n'est pas une bonne méthode. En effet, même si il est plus proche que le
moment où on liste les processus, ça n'exclut pas sa disparition juste après
le if.
Donc on pourrait plutôt le remplacer par :
try: # ancien if (proc.is_running()):
blabla
except psutil.error.NoSuchProcess: # ancien else:
truc
Par contre il y a des except qui ne précisent pas l'exception qu'ils
attrapent, c'est assez dangereux et ça m'a empêché de bien comprendre
le code :)
Et je ne suis pas sûr que le comptage soit toujours bon avec ma méthode.
from glances.
La version 1.4b14 que je viens de commiter devrait résoudre le problème.
Claneys, peux tu tester ?
PS: Laurent, merci pour la piste :)
from glances.
Ok, test en cours.Cependant, j'ai noté que l'installation de glances avec le setup.py a eu pour effet d'installer la dernière version de psutil. Du coup je ne suis plus en accord avec mon gestionnaire de paquet qui croit toujours être en 0.3.0. Bon ça c'est pas trop grave, mais est-ce évitable?
Essayer de l'installer par le gestionnaire de paquet de la distri serait un plus. Après j'imagine que c'est pas évident avec toutes les distrib et mais est ce possible de poser la question ? ou tenter un détection de la distro et install par son gestionnaire de paquets. Au moins pour les principales peut être?
from glances.
Toujours pareil :
Traceback (most recent call last):
File "/usr/bin/glances", line 9, in
load_entry_point('Glances==1.4b', 'console_scripts', 'glances')()
File "/usr/lib64/python2.7/site-packages/Glances-1.4b-py2.7.egg/glances/glances.py", line 1537, in main stats.update()
File "/usr/lib64/python2.7/site-packages/Glances-1.4b-py2.7.egg/glances/glances.py", line 542, in update
self.update()
File "/usr/lib64/python2.7/site-packages/Glances-1.4b-py2.7.egg/glances/glances.py", line 512, in update self.processcount[str(proc.status)] = 1
File "/usr/lib64/python2.7/site-packages/psutil-0.4.1-py2.7-linux-x86_64.egg/psutil/init.py", line 193, in status
return self._platform_impl.get_process_status()
File "/usr/lib64/python2.7/site-packages/psutil-0.4.1-py2.7-linux-x86_64.egg/psutil/_pslinux.py", line 327, in wrapper
raise NoSuchProcess(self.pid, self._process_name)
psutil.error.NoSuchProcess: process no longer exists (pid=3573, name='sudo')
Là, un simple sudo et j'arrive à reproduire l'erreur très simplement :
- Lancement d'une commande préfixée avec sudo -> erreur
Peu importe, que la commande soit lourde ou non. Il me fait la même erreur avec le process "(pid=4097, name='btrfs-endio-met')" ou flush-btrfs-6. Enfin il tombe régulièrement lorsqu'un process disparaît. Un simple arrêt 'watch ls' provoque l'erreur.
Je vois pas que sortir d'autre si tu as besoin de quelques chose, je suis à dispo.
from glances.
Il me semble que le setup.py installe dans /usr/local par défaut, du coup je pense pas que tu aie la bonne version de glances lancée (surtout si il arrive pas à attraper psutil.error.NoSuchProcess, c'est doublement louche).
Mon conseil : nettoyer tout ça et utiliser mon package gentoo git ;-)
Ajouter dans /etc/portage/package.accept_keywords:
=sys-process/glances-9999 **
dev-python/psutil
Ensuite :
layman -a laurentb
emerge -av glances
from glances.
D'accord avec Laurent, je pense que tu ne testes pas la bonne version de Glances:
File "/usr/bin/glances", line 9, in
Pour tester cette version, je ne conseille pas de passer par l'installeur mais en suivante la procédure que j'avais données dans ce billet: http://blog.nicolargo.com/2012/02/cherche-beta-testeurs-pour-glances-1-4.html
A+
from glances.
La version qui s'affiche est bien la 1.4b14. Je viens de re-re-vérifier
from glances.
Ah mais en fait, self.processcount[str(proc.status)] += 1 est en dehors du try/except NoSuchProcess
Donc normal, le problème est toujours là
from glances.
J'ai modifié la boucle pour prendre en compte ce cas => Dispo dans la release 1.4b15
from glances.
Le test est il concluant ?
from glances.
Pour l'instant, oui. J'attendais un peu plus longtemps avant de me prononcer pour éviter de rouvrir le ticket. J'ai fait peu de mise à jour ces derniers jours.
from glances.
Ok, je laisse le ticket ouvert encore un peu :)
from glances.
Bon après quelques mise à jour et jours d'utilisation, la b15 a résisté.
C'est la bonne!
Une petite remarque, je trouve que glances consomme tout de même pas mal de ressources :/ 6-7% sur un dual core. Rédhibitoire pour une utilisation en prod en l'état. Sinon, niquel pour avoir l'état global d'une machine.
from glances.
En fait la version bêta à un taux de rafraîchissement deux fois plus important que la version stable. Si tu passes le paramètre -t 2 (ou plus), tu devrais avoir une baisse de la conso CPU. Dans la bêta 16, la valeur du time out passe à 2 secondes.
from glances.
Related Issues (20)
- Possible to sort or scroll the disk I/O column? HOT 3
- New logo for Glances version 4.0 HOT 1
- Lot's of log messages when a proxy is used with the Podman plugin HOT 2
- QuickLook plugin - Add physical core number HOT 1
- RAID plugin not showing up in Glances web UI (Docker install) HOT 2
- Union filesystem (mergerfs) read as individual drives HOT 1
- OpenBSD crash on start without a swap file/partition HOT 2
- Allow containers columns to be selected in config file
- glances: command not found
- Windows Install Issues HOT 3
- Change Renovate config HOT 1
- Add documentation for contributors
- [IP plugin] Make the public ip information more configurable (not only from the Censys service) HOT 1
- Newline in container command corrupts display / hides container HOT 1
- The cpulist of the percpu parameter cannot be fully displayed due to too many cores. HOT 7
- Alpine Docker image build error on ARM HOT 4
- 【macOS] Using Glances to obtain the cpu utilization of a specified process in macOS is inaccurate HOT 1
- Python3 related issues installing glances on Ubuntu 24.04 HOT 1
- V3.6.1.2 Docker Hub Image HOT 1
- GlancesAutoInstall claims to be incompliant with (Rpm-based) Rosa HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from glances.