Je voudrais surveiller la charge d'E/S du système à partir d'un programme python, en accédant à des statistiques similaires à celles fournies dans /proc/diskstats
sous linux (bien qu'une bibliothèque multiplateforme soit évidemment une bonne solution). Existe-t-il une bibliothèque python existante que je pourrais utiliser pour interroger les statistiques d'E/S disque sur Linux?Bibliothèque Python pour surveiller/proc/diskstats?
Répondre
Dans le cas où quelqu'un d'autre essaie d'analyser/proc/diskstats avec Python comme Alex suggéré:
def diskstats_parse(dev=None):
file_path = '/proc/diskstats'
result = {}
# ref: http://lxr.osuosl.org/source/Documentation/iostats.txt
columns_disk = ['m', 'mm', 'dev', 'reads', 'rd_mrg', 'rd_sectors',
'ms_reading', 'writes', 'wr_mrg', 'wr_sectors',
'ms_writing', 'cur_ios', 'ms_doing_io', 'ms_weighted']
columns_partition = ['m', 'mm', 'dev', 'reads', 'rd_sectors', 'writes', 'wr_sectors']
lines = open(file_path, 'r').readlines()
for line in lines:
if line == '': continue
split = line.split()
if len(split) == len(columns_disk):
columns = columns_disk
elif len(split) == len(columns_partition):
columns = columns_partition
else:
# No match
continue
data = dict(zip(columns, split))
if dev != None and dev != data['dev']:
continue
for key in data:
if key != 'dev':
data[key] = int(data[key])
result[data['dev']] = data
return result
Qu'est-ce qui ne va pas avec simplement la lecture périodique de /proc/diskstats
, par ex. en utilisant sched
pour répéter l'opération chaque minute ou quoi que ce soit? Le procfs
de Linux est très bien car il fournit au noyau un moyen textuel de fournir des informations aux programmes de l'utilisateur, car le texte est plus facile à lire et à utiliser dans une grande variété de langues ...!
Je n'ai pas vu une bibliothèque, mais vous pouvez vouloir consulter l'outil Python nommé "dstat" [1] pour lire les statistiques du noyau Linux.
PSUtil fournit un certain nombre de statistiques de disque et fs et est également multi-plateforme.
Vous devriez regarder psutil.disk_io_counters(perdisk=True)
qui retourne un certain nombre de mesures utiles:
read_count: number of reads write_count: number of writes read_bytes: number of bytes read write_bytes: number of bytes written read_time: time spent reading from disk (in milliseconds) write_time: time spent writing to disk (in milliseconds)
Ces mesures proviennent de /proc/diskstats
(sous Linux)
- 1. Bibliothèque Python pour Amazon MWS
- 2. Bibliothèque comme fakeweb pour Python
- 3. Un didacticiel pour la bibliothèque Python PalmDB?
- 4. Bibliothèque arithmétique de fonction pour python
- 5. Une bibliothèque SSL décente pour Python 2.5
- 6. Bibliothèque Python pour générer des fichiers VCF?
- 7. Bibliothèque Pure Python pour générer des Identicons?
- 8. Liaisons Python pour une bibliothèque vala
- 9. Bibliothèque client Python Jabber/XMPP pour Twisted
- 10. Bibliothèque Python pour valider les données Excel
- 11. Bibliothèque d'images Python 3.1
- 12. bibliothèque Python installation macports
- 13. bibliothèque vidéo python
- 14. Toute bibliothèque dhcp python?
- 15. Bibliothèque d'archivage python (jython)
- 16. bibliothèque Python nécessaire
- 17. Bibliothèque XQuery sous Python
- 18. Bibliothèque de serveurs Python XMPP
- 19. Chemin de la bibliothèque Python
- 20. Recommander une bibliothèque RSS python
- 21. Bibliothèque de Markdown Python sécurisée
- 22. Chemin de la bibliothèque Python
- 23. Quelle bibliothèque python mpi utiliser?
- 24. Yahoo BOSS Bibliothèque Python, ExpatError
- 25. Existe-t-il une bonne bibliothèque de diagrammes pour Python?
- 26. Bibliothèque de traçage de données pour Python 3.x?
- 27. Une bibliothèque python pour accéder à des quickbooks?
- 28. meilleure bibliothèque Python pour télécharger et extraire les adresses
- 29. bibliothèque Python pour expérimenter avec des optimisations du compilateur
- 30. Bibliothèque Python pour traiter les données associées au temps?
bien psutil peut utiliser '/ proc/diskstats' il a beaucoup moins métriques que brut '/ proc/diskstats'. Je rencontre personnellement cette question, car nous utilisons déjà psutil, mais nous manquons malheureusement des parties importantes. –