me gustaría controlar la carga del sistema IO de un programa de pitón, acceder a estadísticas similares a las previstas en /proc/diskstats
en Linux (aunque, obviamente, una biblioteca multiplataforma sería genial). ¿Existe una biblioteca de python existente que pueda usar para consultar las estadísticas de IO de disco en Linux?Biblioteca de Python para monitoreo/proc/diskstats?
Respuesta
En el caso de cualquier otra persona está tratando de analizar/proc/diskstats con Python como Alex sugirió:
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é pasa con sólo leer periódicamente /proc/diskstats
, por ejemplo, usando sched
para repetir la operación cada minuto o lo que sea? El procfs
de Linux es bueno porque proporciona una manera textual para que el kernel suministre información a los programas de usuario y tierra, ya que el texto es más fácil de leer y usar en una gran variedad de idiomas ...!
No he visto una biblioteca, pero es posible que desee comprobar hacia fuera la herramienta de Python llamado "dstat" [1] para la lectura de las estadísticas del núcleo de Linux.
PSUtil proporciona una serie de estadísticas de disco y fs y es también multiplataforma.
Usted debe mirar psutil.disk_io_counters(perdisk=True)
que devuelve un número de métricas útiles:
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)
Estas métricas provienen de /proc/diskstats
(en Linux)
- 1. Biblioteca financiera básica para Python
- 2. Biblioteca como fakeweb para Python
- 3. Biblioteca de API de Amazon para Python?
- 4. Biblioteca de Python para generar archivos flash
- 5. Biblioteca de Python para Amazon MWS
- 6. Biblioteca de MS Access para python
- 7. Buena biblioteca de Python para AMQP
- 8. ¿Biblioteca de Git para Ruby o Python?
- 9. Biblioteca de cliente Python para WebDAV
- 10. biblioteca de python para dividir video
- 11. python: biblioteca para árboles de sufijo generalizados
- 12. Biblioteca de imágenes para Python 3
- 13. Biblioteca de red neuronal para Python?
- 14. Biblioteca de Python para generar archivos VCF?
- 15. Python - Problemas de biblioteca
- 16. Biblioteca financiera de Python
- 17. Biblioteca Pure Python para generar Identicons?
- 18. Biblioteca Python para el filtrado XSS?
- 19. Biblioteca MIDI simple, multiplataforma para Python
- 20. Biblioteca cliente Python Jabber/XMPP para Twisted
- 21. Biblioteca de BitTorrent de Python
- 22. Python autómatas finitos biblioteca
- 23. Biblioteca Python XSLT
- 24. Python: OAuth Biblioteca
- 25. Biblioteca ActiveSync de Python Exchange
- 26. Biblioteca de Python para la gestión de procesos de Linux
- 27. ¿Alguna biblioteca dhcp python?
- 28. biblioteca de python Pure gui?
- 29. Biblioteca de XQuery en Python
- 30. biblioteca envoltorio de Python Subversion
aunque psutil puede utilizar '/ proc/diskstats' tiene mucho menos métricas que raw '/ proc/diskstats'. Personalmente me encontré con esta pregunta, porque ya usamos psutil, pero lamentablemente omitimos algunas partes importantes. –