GNU/Linux >> Belajar Linux >  >> Linux

Dapatkan total memori fisik dengan Python

taruhan terbaik Anda untuk solusi lintas platform adalah menggunakan paket psutil (tersedia di PyPI).

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

Dokumentasi untuk virtual_memory ada di sini.


Menggunakan os.sysconf di 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

Catatan:

  • SC_PAGE_SIZE sering kali 4096.
  • SC_PAGESIZE dan SC_PAGE_SIZE sama.
  • Untuk info selengkapnya, lihat man sysconf .
  • Untuk MacOS , sesuai laporan pengguna, ini berfungsi dengan Python 3.7 tetapi tidak dengan Python 3.8.

Menggunakan /proc/meminfo di 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

Ekspresi reguler bekerja dengan baik untuk hal semacam ini, dan mungkin membantu dengan perbedaan kecil di seluruh distribusi.

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. Cara mendapatkan lebar jendela konsol Linux dengan Python

  2. Cara mendapatkan alamat memori tertentu menggunakan C

  3. Dapatkan waktu pembuatan file dengan Python di linux

  1. Cara mendapatkan total penggunaan cpu di Linux menggunakan C++

  2. Dapatkan judul jendela saat ini dengan Python dan Xorg

  3. Cara mendapatkan ukuran file tar.gz dalam (MB) dengan python

  1. Bagaimana cara mendapatkan PYTHONPATH di shell?

  2. Bagaimana saya bisa mendapatkan biner dari file .py

  3. Bagaimana cara mendapatkan ukuran fisik file di Linux?