GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Holen Sie sich den gesamten physischen Speicher in Python

Ihre beste Wahl für eine plattformübergreifende Lösung ist die Verwendung des psutil-Pakets (verfügbar auf PyPI).

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

Dokumentation für virtual_memory ist hier.


Verwenden os.sysconf unter 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

Hinweis:

  • SC_PAGE_SIZE ist oft 4096.
  • SC_PAGESIZE und SC_PAGE_SIZE sind gleich.
  • Weitere Informationen finden Sie unter man sysconf .
  • Für MacOS , laut Benutzerberichten funktioniert dies mit Python 3.7, aber nicht mit Python 3.8.

Mit /proc/meminfo unter 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

Reguläre Ausdrücke eignen sich gut für solche Dinge und können bei geringfügigen Unterschieden zwischen den Distributionen hilfreich sein.

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. dmidecode:Informationen zur Systemhardware unter Linux abrufen

  2. So erhalten Sie die Fensterbreite der Linux-Konsole in Python

  3. Holen Sie sich die Dateierstellungszeit mit Python unter Linux

  4. Python FTP ruft die neueste Datei nach Datum ab

  5. Wie erhalte ich die physische Größe einer Datei unter Linux?

Python-Programm frisst RAM

Wie erhalte ich die Anzahl der physischen Festplatten in Linux?

Wie bekomme ich % Speicherauslastung mit vmstat?

Wie kann ich eine Binärdatei aus einer .py-Datei erhalten?

Holen Sie sich die Gesamtdateigröße aus einer Datei, die eine Dateiliste enthält

Wie werde ich über ECC-Fehler in Linux benachrichtigt?