GNU/Linux >> Tutoriales Linux >  >> Linux

Obtener memoria física total en Python

su mejor apuesta para una solución multiplataforma es usar el paquete psutil (disponible en PyPI).

import psutil
    
psutil.virtual_memory().total  # total physical memory in Bytes

Documentación para virtual_memory está aquí.


Uso os.sysconf en Linux:

import os
mem_bytes = os.sysconf('SC_PAGE_SIZE') * os.sysconf('SC_PHYS_PAGES')  # e.g. 4015976448
mem_gib = mem_bytes/(1024.**3)  # e.g. 3.74

Nota:

  • SC_PAGE_SIZE suele ser 4096.
  • SC_PAGESIZE y SC_PAGE_SIZE son iguales.
  • Para obtener más información, consulte man sysconf .
  • Para MacOS , según los informes de los usuarios, esto funciona con Python 3.7 pero no con Python 3.8.

Usando /proc/meminfo en Linux:

meminfo = dict((i.split()[0].rstrip(':'),int(i.split()[1])) for i in open('/proc/meminfo').readlines())
mem_kib = meminfo['MemTotal']  # e.g. 3921852

Las expresiones regulares funcionan bien para este tipo de cosas y pueden ayudar con cualquier diferencia menor entre distribuciones.

import re
with open('/proc/meminfo') as f:
    meminfo = f.read()
matched = re.search(r'^MemTotal:\s+(\d+)', meminfo)
if matched: 
    mem_total_kB = int(matched.groups()[0])

Linux
  1. Cómo obtener el ancho de la ventana de la consola de Linux en Python

  2. Obtenga el tiempo de creación de archivos con Python en Linux

  3. Cómo obtener el uso total de la CPU en Linux usando C++

  4. Obtenga el título de la ventana actual con Python y Xorg

  5. ¡Obtenga deltas del mouse usando Python! (en Linux)

Cómo obtener una dirección de memoria específica usando C

obtener ID de grupo por nombre de grupo (Python, Unix)

Python FTP obtiene el archivo más reciente por fecha

¿Cómo obtener el PYTHONPATH en shell?

¿Cómo obtener la cantidad de discos físicos en Linux?

¿Cómo me notifican los errores de ECC en Linux?