Как проверить размер оперативной памяти?

Вопрос или проблема

Какая команда для определения размера ОЗУ в компьютере? Я хочу увидеть результат в МБ.

В терминале вы можете использовать:

free -m

Из ман страницы:

-m, --mebi Отобразить объем памяти в мебибайтах.

--mega Отобразить объем памяти в мегабайтах. Предполагает --si.

Примечание: Килобайт (kB) равен 1000 байтам.

Откройте терминал (CTRL + ALT + T)…

Запустите следующую команду, чтобы увидеть информацию об ОЗУ в КБ (1 КБ равен 1024 байтам).

free

Запустите следующую команду, чтобы увидеть информацию об ОЗУ в МБ (1 МБ равен 1024 КБ).

free -m

Запустите следующую команду, чтобы увидеть информацию об ОЗУ в ГБ (1 ГБ равен 1024 МБ).

free -g

Или вы можете запустить следующую команду, чтобы увидеть больше информации по тому же запросу:

free -h

Нажмите на значок питания/настройки (Системное меню) в правом верхнем углу экрана и выберите Информация об этом компьютере. Вы увидите общий объем доступной памяти в ГиБ. Умножьте значение на 1024, чтобы получить размер в МиБ.

Это значение (и значение, которое отображается как Общее в выводе free -m в консоли) — это общий объем физической ОЗУ, за вычетом объема, отведенного для внутреннего ГП, если ваш компьютер его имеет.

Чтобы увидеть общий объем установленной физической ОЗУ, вы можете запустить sudo lshw -c memory, который покажет вам каждую отдельную плашку ОЗУ, установленную в системе, а также общий размер для Системной памяти. Это значение, вероятно, будет представлено как ГиБ, которое вы также можете умножить на 1024, чтобы получить значение МиБ.

Доступная физическая память в МиБ:

echo $(($(getconf _PHYS_PAGES) * $(getconf PAGE_SIZE) / (1024 * 1024)))

Доступная виртуальная память в МБ:

echo $(($(getconf _AVPHYS_PAGES) * $(getconf PAGE_SIZE) / (1024 * 1024)))

..или используйте /proc/meminfo:

grep MemTotal /proc/meminfo | awk '{print $2 / 1024}'

Чтобы увидеть информацию о физических чипах, вы можете использовать dmidecode, чтобы извлечь информацию типа DMI 17 (Устройство памяти):

sudo dmidecode -t 17

это информирует вас обо всех установленных устройствах памяти, включая тип, скорость, производителя, форм-фактор и многое другое. У вас также есть sudo dmidecode -t memory, который дает немного больше информации.

Если вы хотите команду, которая просто выводит численное значение общей памяти в МБ, вы можете использовать:

free --mega | awk '/^Mem:/{print $2}'

Это число представляет общий объем ОЗУ, установленного в системе, в МБ, например:

free --mega | awk '/^Mem:/{print $2}'
33033

Что здесь, похоже, отсутствует, так это метод отображения фактической физической памяти.

free не отображает фактическую физическую память. Из man free под total:

Общая полезная память (MemTotal и SwapTotal в /proc/meminfo). Это включает физическую и обменную память за вычетом нескольких зарезервированных битов и двоичного кода ядра.

% LANG=C free -b
               total        used        free      shared  buff/cache   available
Mem:     33208266752  4826804224 25715757056   609566720  3756187648 28381462528
Swap:     8589930496           0  8589930496
% printf '33208266752\n' | numfmt --to=iec --format '%0.8f'
30,92760849G

Что не соответствует 32ГиБ, за которые я заплатил.

Чтобы это исправить, вы можете использовать lshw для извлечения фактической физической памяти в байтах и передать вывод в numfmt (параметр --format '%.8f' там просто для того, чтобы показать, что я не обманываю и что округление не происходит в фоновом режиме):

sudo lshw -json 2>/dev/null |
    jq -r '.children[] | select(.id=="core").children[] | select(.id=="memory").size' |
    numfmt --to=iec --format '%.8f'
% sudo lshw -json 2>/dev/null |
    jq -r '.children[] | select(.id=="core").children[] | select(.id=="memory").size' |
    numfmt --to=iec --format '%.8f'
32,00000000G

Это отобразит фактическую физическую память с использованием стандарта IEC (который обычно используется поставщиками для маркировки / продвижения DIMM – 16ГиБ, 32ГиБ, 64ГиБ и так далее) – так что вы можете спокойно знать, что поставщик не отрезал часть памяти от ваших банок.

Если вы хотите отобразить фактическую физическую память, используя стандарт SI:

sudo lshw -json 2>/dev/null |
    jq -r '.children[] | select(.id=="core").children[] | select(.id=="memory").size' |
    numfmt --to=si --format '%.8f'
% sudo lshw -json 2>/dev/null |
    jq -r '.children[] | select(.id=="core").children[] | select(.id=="memory").size' |
    numfmt --to=si --format '%.8f'
34,35973837G

.

Ответ или решение

Проверка размера оперативной памяти (RAM) на компьютере может потребоваться для различных целей, от диагностики до оптимизации производительности. В этой статье мы рассмотрим несколько методов, чтобы узнать размер установленной оперативной памяти, включая командные строки и графические интерфейсы, и как получить результаты в мегабайтах (MB).

1. Использование команды free

Самый простой способ узнать объем оперативной памяти — это использовать команду free, доступную в большинстве Linux-систем. Линия для получения данных в мегабайтах выглядит следующим образом:

free -m

Этот командный вызов выведет информацию о памяти в формате, понятном для пользователя. Опция -m указывает, что информация должна быть представлена в мегабайтах.

2. Получение только числового значения

Если вам нужно получить только числовое значение общего объема памяти в мегабайтах, вы можете воспользоваться следующей командой:

free --mega | awk '/^Mem:/{print $2}'

Это выдаст общее количество установленной оперативной памяти без лишней информации.

3. Использование дополнительных команд

Кроме команды free, существует множество других команд, которые могут предоставить информацию о вашей оперативной памяти:

  • Команда lshw позволяет получить детальную информацию о установленной памяти:

    sudo lshw -c memory

    Здесь будет представлено количество, а также другие характеристики, такие как тактовая частота и производитель.

  • Команда dmidecode выводит информацию на уровне оборудования:

    sudo dmidecode -t 17

    Вы получите детальную информацию о каждом модуле памяти, включая его размер и тип.

4. Альтернативные методы получения информации

Если вы хотите получить физическую память, доступную в мегабайтах, вы можете использовать команды, такие как:

echo $(($(getconf _PHYS_PAGES) * $(getconf PAGE_SIZE) / (1024 * 1024)))

или

grep MemTotal /proc/meminfo | awk '{print $2 / 1024}'

Оба из этих методов помогут вам узнать текущий объем физической памяти.

5. Графические методы

Если вы предпочитаете использовать графический интерфейс, выполните следующие действия:

  • В верхнем правом углу экрана нажмите на иконку питания/настройки и выберите "О компьютере". Здесь вы увидите общий объем оперативной памяти в гигабайтах. Для перевода в мегабайты умножьте это значение на 1024.

Заключение

Знание объема оперативной памяти на вашем устройстве — важная информация для управления производительностью и ресурсов системы. Вы можете использовать различные команды и графические интерфейсы для получения необходимой информации. Независимо от выбранного метода, вы сможете легко увидеть размер вашей оперативной памяти и использовать её в дальнейшей оптимизации системной производительности.

Оцените материал
Добавить комментарий

Капча загружается...