GNU/Linux >> Linux Esercitazione >  >> Linux

Ottieni la memoria fisica totale in Python

la soluzione migliore per una soluzione multipiattaforma è utilizzare il pacchetto psutil (disponibile su PyPI).

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

Documentazione per virtual_memory è qui.


Uso os.sysconf su 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 è spesso 4096.
  • SC_PAGESIZE e SC_PAGE_SIZE sono uguali.
  • Per maggiori informazioni, vedi man sysconf .
  • Per MacOS , secondo i rapporti degli utenti, funziona con Python 3.7 ma non con Python 3.8.

Utilizzando /proc/meminfo su 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

Le espressioni regolari funzionano bene per questo genere di cose e potrebbero aiutare con eventuali piccole differenze tra le distribuzioni.

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:ottieni informazioni sull'hardware di sistema su Linux

  2. Come ottenere la larghezza della finestra della console Linux in Python

  3. Ottieni il tempo di creazione del file con Python su Linux

  4. Ottieni i delta del mouse usando Python! (su Linux)

  5. Python FTP ottiene il file più recente per data

ottieni l'id del gruppo per nome del gruppo (Python, Unix)

Come ottenere l'utilizzo totale della CPU in Linux usando C++

Ottieni il titolo della finestra corrente con Python e Xorg

Come ottenere la data e l'ora formattate in Python

Come ottenere la dimensione di tar.gz nel file (MB) in python

Come ottenere PYTHONPATH nella shell?