Python объем оперативной памяти

Узнайте размер ОЗУ в Python [дубликат]

В общем, регулярные выражения не подходят для такого рода проблем. Лучше использовать конечный автомат.

4 ответа

наилучшим выбором для кросс-платформенного решения является использование пакета psutil (доступного на PyPI ).

from psutil import virtual_memory mem = virtual_memory() mem.total # total physical memory available 

Документация для virtual_memory здесь здесь .

Использование os.sysconf в 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 
  • SC_PAGE_SIZE часто 4096.
  • SC_PAGESIZE и SC_PAGE_SIZE равны.
  • Для получения дополнительной информации см. man sysconf .
  • Для MacOS, за непроверенный отчет пользователя, это может работать только с MacOS ≥ 10.13 (High Sierra) с Python ≥ 3.6.4.

Использование /proc/meminfo в 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 

@sorin, os.sysconf(‘SC_PHYS_PAGES’) , по-видимому, не работает на OS X. Хотя справочная страница OS X для sysconf делает заметку _SC_PHYS_PAGES , это кажется недоступным через Python. У вас может быть больше удачи с psutil . В качестве альтернативы, см. Методы, используемые в ответах здесь . – A-B-B 17 July 2015 в 18:58

Читайте также:  Жирный текст с помощью CSS - "Нубекс"

FWIW, подход os.sysconf() также работает с Python 3 и даже в Solaris 10. – maxschlepzig 27 August 2017 в 19:25

Я рад сообщить, что работает над MacOS X 10.13 (High Sierra) с Python 3.6.4. – Laurent 19 April 2018 в 16:49

Этот код работал для меня без какой-либо внешней библиотеки на Python 2.7.9

import os mem=str(os.popen('free -t -m').readlines()) """ Get a whole line of memory output, it will be something like below [' total used free shared buffers cached\n', 'Mem: 925 591 334 14 30 355\n', '-/+ buffers/cache: 205 719\n', 'Swap: 99 0 99\n', 'Total: 1025 591 434\n'] So, we need total memory, usage and free memory. We should find the index of capital T which is unique at this string """ T_ind=mem.index('T') """ Than, we can recreate the string with this information. After T we have, "Total: " which has 14 characters, so we can start from index of T +14 and last 4 characters are also not necessary. We can create a new sub-string using this information """ mem_G=mem[T_ind+14:-4] """ The result will be like 1025 603 422 we need to find first index of the first space, and we can start our substring from from 0 to this index number, this will give us the string of total memory """ S1_ind=mem_G.index(' ') mem_T=mem_G[0:S1_ind] print 'Summary = ' + mem_G print 'Total Memory = ' + mem_T +' MB' 

. Мы легко можем получить использованную память и свободную память

 """ Similarly we will create a new sub-string, which will start at the second value. The resulting string will be like 603 422 Again, we should find the index of first space and than the take the Used Memory and Free memory. """ mem_G1=mem_G[S1_ind+8:] S2_ind=mem_G1.index(' ') mem_U=mem_G1[0:S2_ind] mem_F=mem_G1[S2_ind+8:] print 'Used Memory = ' + mem_U +' MB' print 'Free Memory = ' + mem_F +' MB' 

Источник

Как определить, сколько памяти потребляет скрипт python (внутри самого скрипта)?

Простой 1 комментарий

lazalu68

pip install memory_profiler

from memory_profiler import memory_usage memory_usage()

Войдите, чтобы написать ответ

Как задать роль chatgpt langchain?

Как загрузить фото из сообщения в буфер?

Ошибка disnake, может кто помочь?

Telegram bot за корпоративным касперским. Не получается выйти по цепочке сертификатов?

Sqlite3, OperationalError: unable to open database file, как обойти эту ошибку?

Как сделать чтобы когда участники в blacklist он не мог писать, а другие могли?

Как взаимодействовать с элементом в Selenium?

Что делать с предубреждениями в юзер боте python?

Как сделать VKbottle userbot?

Я не могу решить вопрос с асинхронным выполнением кода. Оптимальное решение?

Минуточку внимания

  • Как загрузить фото из сообщения в буфер?
    • 2 подписчика
    • 0 ответов
    • 3 подписчика
    • 0 ответов
    • 2 подписчика
    • 1 ответ
    • 3 подписчика
    • 1 ответ
    • 2 подписчика
    • 0 ответов
    • 2 подписчика
    • 1 ответ
    • 2 подписчика
    • 0 ответов
    • 2 подписчика
    • 0 ответов
    • 2 подписчика
    • 2 ответа
    • 2 подписчика
    • 2 ответа

    Источник

Оцените статью