Найти размер оперативной памяти в Linux

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

Зачастую из-за ошибок в заказе поставщики выделенных серверов предоставляют вам меньше аппаратных ресурсов, чем те, которые вы приобрели. В этом посте мы узнаем, как узнать размер оперативной памяти в операционных системах Linux/Unix с помощью 5 полезных команд.

Как узнать размер оперативной памяти в операционных системах Linux?

Вот список из 5 основных команд, которые можно использовать для определения размера оперативной памяти LInux в Linux.

1. команда free

Команда free — это самый классический инструмент на базе терминала для проверки использования памяти в операционных системах Linux/Unix.

[[email protected]:~]free
total used free shared buff/cache available
Mem: 32753636 9492448 1053688 603920 22207500 21961040
Swap: 8191996 1078724 7113272
[[email protected]:~]

Общий объем оперативной памяти ОС в байтах равен 32753636, что можно перевести в 32 ГБ оперативной памяти, установленной в системе. Второй столбец, называемый «используется», показывает объем оперативной памяти, используемый операционной системой, в данном случае около 9 ГБ. Затем у вас есть столбец «Свободно», в котором отображается около 1 ГБ, а остальные называются «общий», «буфер/кэш» и «доступный». В операционных системах Linux в буфере/кеше обычно имеется много кэшированной памяти, эту память позже можно освободить и использовать, если это действительно необходимо.
Последняя строка относится к памяти подкачки, объем использования которой составляет около 1 ГБ.

Но эти байтовые числа нелегко прочитать. Давайте воспользуемся двумя полезными параметрами, которые можно добавить в команду free:

free -ht

Теперь мы добавляем -ht к команде free. -h используется для преобразования байтов в удобочитаемые единицы, а -t используется для отображения строки, показывающей итоговые значения столбцов.

[[email protected]:~]free -ht
total used free shared buff/cache available
Mem: 31G 9.1G 1.0G 589M 21G 20G
Swap: 7.8G 1.0G 6.8G
Total: 39G 10G 7.8G
[[email protected]:~]

Как вы видите на этом выводе, теперь команда free показывает информацию в размерах, которые может прочитать человек.

2. top

Команда Top — один из моих любимых и наиболее часто используемых инструментов для быстрой проверки производительности системы, но ее также можно использовать для получения ценной информации об оборудовании.

Снимок экрана с командой top, показывающий простой способ узнать размер оперативной памяти в Linux.

Как вы видите на скриншоте, команда top показывает общее использование памяти для опции KiB Mem (в моем случае всего 32753636).
Вы также сможете получить размер своего SWAP по другой строке, называемой KiB Swap (всего 8191996 в моем случае).
И так же, как и команда free, вы получите другую информацию об оперативной памяти, такую ​​как буфер, кеш и свободная доступная память.

3. htop

htop — хорошая альтернатива классической команде top: помимо информации об оперативной памяти вы сможете получить информацию об использовании процессора и процессов. Проще говоря, htop — это команда верхнего уровня, но с улучшенной версией, которая включает цвета, гистограммы для процессора/памяти/свопа, а также лучший способ управления/завершения процессов при необходимости.

Установка htop в Ubuntu/Debian

apt-get install htop

Установка htop на CentOS/RHEL

yum install htop -y

htop можно запустить, просто запустив:

htop

Ожидаемый результат:

команда htop в Linux

Как видите, использование доступной оперативной памяти и SWAP довольно ясно, отображается в ГБ и с четкой полосой.

4. vmstat

Команда vmstat вместе с параметром «s» показывает статистику использования памяти, оттуда вы также сможете получить общий объем оперативной памяти и свободную память.

Запустите эту команду:

vmstat -с

Это пример вывода на нашем сервере:

[[email protected]:~]vmstat -s
     32753636 K total memory
      9562108 K used memory
     11811520 K active memory
     16346200 K inactive memory
       927968 K free memory
            0 K buffer memory
     22263560 K swap cache
      8191996 K total swap
      1078724 K used swap
      7113272 K free swap
     70588049 non-nice user cpu ticks
      4283838 nice user cpu ticks
     24577630 system cpu ticks
   2023074528 idle cpu ticks
      4177230 IO-wait cpu ticks
            0 IRQ cpu ticks
      1063579 softirq cpu ticks
            0 stolen cpu ticks
   3076934802 pages paged in
   6491214798 pages paged out
       620025 pages swapped in
      1033879 pages swapped out
   4238671160 interrupts
   3149823550 CPU context switches
   1490028842 boot time
     10854442 forks
[[email protected]:~]

5. cat /proc/meminfo

Последний способ узнать размер оперативной памяти в Linux — прочитать файл /proc/meminfo. Для этого мы будем использовать команду cat, как показано ниже:

cat /proc/meminfo

Ожидаемый результат:

Вывод cat /proc/meminfo в Linux

Найдите информацию об аппаратной оперативной памяти

Если вам нужно узнать полную информацию об оборудовании и оперативной памяти, которую вы используете на своем сервере, вы можете использовать команду dmidecode. Он покажет вам ценную информацию об установленной оперативной памяти в вашей системе.

Установите dmidecode в Ubuntu/Debian.

apt-get install dmidecode

Установите dmidecode на CentOS/RHEL

yum install dmidecode -y

Теперь запустите эту команду:

dmidecode -t 17 | more

Вы сможете получить общий объем оперативной памяти, тип (DDR2, DDR3, DDR4) и скорость оперативной памяти, среди прочего, как вы видите на этом снимке экрана сервера nixcp.com:

dmidecode — лучший способ найти информацию об оборудовании оперативной памяти в Linux