2012-07-23 16 views
29

Possible Duplicate:
How to get current CPU and RAM usage in Python?Dostępne i używane pamięci systemowe w języku Python?

Jak mogę uzyskać dostępną i aktualnie używaną pamięć z Pythona? Musi być wieloplatformowy i przynajmniej pracować na systemach Windows, Mac OS X i Linux.

Chciałbym zgłosić użytkownika w mojej aplikacji, że nie ma wystarczającej ilości pamięci, aby kontynuować i wykonać następną operację.

+0

musisz pamięć lub przestrzeń adresową? Od co najmniej w systemie Windows nie brakuje ci pamięci, jeśli nadal masz miejsce do wymiany - http://blogs.msdn.com/b/ericlippert/archive/2009/06/08/out-of-memory-does- not-refer-to-physical-memory.aspx –

+3

Wygląda podobnie do [to pytanie] (http://stackoverflow.com/questions/276052/how-to-get-current-cpu-and-ram-usage-in- python), [biblioteka psutil] (http://code.google.com/p/psutil/) była zalecana –

+3

Po prostu chcesz 'try: ... except MemoryError: ...' – JBernardo

Odpowiedz

5

the psutil library wygląda obiecująco.

+0

Podejrzewam, że został on po prostu dodany jako przydatny wskaźnik, biorąc pod uwagę komentarz, który Colin napisał na pytanie i oznaczenie tego pytania jako duplikat tego samego dnia ponad 3 lata temu. Jestem pewien, że on rozumie, jak do tej pory działa SO. – Dave

41

Należy spojrzeć na psutil:

>>> import psutil 
>>> psutil.virtual_memory() 
svmem(total=16717422592, available=5376126976, percent=67.8, used=10359984128, free=1831890944, active=7191916544, inactive=2325667840, buffers=525037568, cached=4000509952, shared=626225152) 
+0

Musisz zainstalować najnowszy psutil (wersja 0.5.0 stąd: https://pypi.python.org/pypi/psutil/0.5.0), aby to działało. Instalowanie z zainstalowanej wersji PIP 4.3.0, która nie posiadała metody phymem_usage(). W przypadku Ubuntu pobrałem plik tar.gz, a następnie 'tar -xvzf psutil-0.5.0.tar.gz', następnie' cd psutil-0.5.0', a następnie 'sudo python setup.py install'. Możesz sprawdzić swoją wersję psutil, wykonując 'import psutil' i' print (psutil .__ wersja __) 'w python – wordsforthewise

+1

Używając najnowszej wersji 4.3.0, metoda jest teraz' psutil.virtual_memory() 'Myślę, że – wordsforthewise

Powiązane problemy