Иногда возникает задача получить информацию о доступном объеме оперативной памяти, занятой памяти или процент используемой памяти, как в целях мониторинга так и для работы некоторых скриптов.
Информацию об используемой памяти возможно получить с использованием утилиты free, которая выводит информацию об:
- Текущем объеме оперативной памяти
- Объема занятой оперативной памяти
- Объем свободной оперативной памяти
- Объем разделяемой памяти
- Объем дискового буфера (кеша)
- Объем доступной оперативной памяти
По умолчанию информация об использованию оперативной памяти отображается в байтах, для получения информации в мегабайтах, необходимо использовать ключ -m.
Получить общий объем оперативной памяти Linux
Для получения общего объема оперативной памяти, необходимо из вывода утилиты free извлечь второй значение.
1 | free -m | awk 'NR==2{printf "%s\n", $2 }' |
Получить объем использованной оперативной памяти Linux
Аналогично с предыдущем пунктом, для получения информации об используемой памяти извлекаем третье значение.
1 | free -m | awk 'NR==2{printf "%s\n", $3 }' |
Так же можно объединить оба вывода, для более понятного представления
1 | free -m | awk 'NR==2{printf "%s/%s\n", $3, $2 }' |
Получить процент занятой оперативной памяти Linux
Для получение информации о занятой оперативной памяти в процентах, так же необходимо получить оба значения, но и дополнительно сделать простое математическое преобразование.
1 | free -m | awk 'NR==2{printf "%s\n", $3*100/$2 }' |