tengo - instalar python en mac sierra
¿Cómo puedo leer la información del sistema en Python en OS X? (5)
A raíz de esta pregunta independiente del sistema operativo , específicamente esta respuesta , similar a los datos disponibles de la talla de / proc / meminfo en Linux, ¿cómo puedo leer la información del sistema desde OS X usando Python (incluido, entre otros, el uso de la memoria).
Aquí hay un archivo / proc fs basado en MacFUSE:
http://www.osxbook.com/book/bonus/chapter11/procfs
Si tiene el control de los cuadros en los que está ejecutando su programa python, podría ser una solución razonable. En cualquier caso, es bueno tener un / proc para mirar!
Hice un poco más de google (buscando "OS X / proc") - parece que el comando sysctl podría ser lo que quieres, aunque no estoy seguro de si te dará toda la información que necesitas. Aquí está la página de manual: http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man8/sysctl.8.html
Además, wikipedia .
Lo único que está realmente bien accesible está disponible desde el módulo de la plataforma, pero es extremadamente limitado (CPU, versión del sistema operativo, arquitectura, etc.). Para el uso de la CPU y el tiempo de actividad, creo que tendrá que ajustar las utilidades de la línea de comandos ''uptime'' y ''vm_stat''.
Te construí uno para vm_stat, el otro depende de ti ;-)
import os, sys
def memoryUsage():
result = dict()
for l in [l.split('':'') for l in os.popen(''vm_stat'').readlines()[1:8]]:
result[l[0].strip('' "'').replace('' '', ''_'').lower()] = int(l[1].strip(''./n ''))
return result
print memoryUsage()
Estaba buscando lo mismo, y noté que no había una respuesta aceptada para esta pregunta. en el tiempo transcurrido desde que se formuló originalmente la pregunta, se lanzó un módulo de python llamado psutil:
https://github.com/giampaolo/psutil
para la utilización de la memoria, puede usar lo siguiente:
>>> psutil.virtual_memory()
svmem(total=8374149120L, available=2081050624L, percent=75.1, used=8074080256L, free=300068864L, active=3294920704, inactive=1361616896, buffers=529895424L, cached=1251086336)
>>> psutil.swap_memory()
sswap(total=2097147904L, used=296128512L, free=1801019392L, percent=14.1, sin=304193536, sout=677842944)
>>>
hay funciones para la utilización de la CPU, la gestión del proceso, el disco y la red también. la única omisión del módulo es una función para recuperar el promedio de carga, pero el stdlib de python tiene os.getloadavg () si está en un sistema tipo UNIX.
psutil pretende ser compatible con Linux, Windows, OSX, FreeBSD y Sun Solaris, pero solo he probado OSX Mavericks y Fedora 20.
Puede obtener una gran cantidad de información del sistema de las utilidades de línea de comandos sysctl
y vm_stat
(y también de ps
, como en esta pregunta ).
Si no encuentra una forma mejor, siempre puede llamar a estos utilizando un subprocess
.