Количество используемой памяти linux

Информация об оперативной памяти в Linux. Свободная, занятая и тип памяти

В этой статье мы рассмотрим, как получить информацию об оперативной памяти (RAM) в Linux.

Мы воспользуемся утилитами командной строки доступными для большинства Linux дистрибутивов.

Свободная и занятая оперативная память

Для получения информации о количестве свободной и занятой оперативной памяти в Linux можно использовать различные утилиты и команды. Рассмотрим несколько распространенных способов.

Команда free

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

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

  • -m — в мегабайтах
  • -g — в гигабайтах
  • -h — автоматически определить формат

Команда vmstat

Команда vmstat выводит различную статистику по использованию памяти. Используя ключ -s можно вывести подробную статистику в табличном виде.

Команда top

top — это утилита командной строки, которая используется для мониторинга процессов и используемых ресурсов компьютера.

Запуск утилиты top :

В заголовке выводится информация об использованной оперативной памяти.

Команда htop

Утилита htop, также как и top, используется для мониторинга ресурсов и процессов.

Для установки утилиты htop в Ubuntu Linux (Linux Mint и других Ubuntu/Debian-дистрибутивах) выполните команду:

Запуск утилиты htop :

Файл /proc/meminfo

Описанные выше команды, в качестве источника информации используют системные файлы из файлов, хранящихся в виртуальной файловой системе /proc . В файле /proc/meminfo содержится информация об использовании памяти. Выведем содержимое файла /proc/meminfo :

Тип памяти и частота

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

Используем следующую команду:

В выводе команды будет информация о слотах оперативной памяти. Для каждого слота отображается установленный модуль оперативной памяти, его тип (поле Type ), размер (поле Size ), скорость/частота (поле Speed ) и другая информация.

В зависимости от системы и оборудования не всегда удается получить все данные, поэтому некоторые поля могут быть пустыми или иметь надписи Not provided/Unknown.

Заключение

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

Для отслеживания использования ресурсов компьютера существует множество графических программ. Найти их можно в нашем каталоге программ для Linux в разделе Система/Мониторинг.

Источник

linux-notes.org

Как в Linux узнать объем занятой/свободной памяти

Для проверки занятой/свободной памяти в Linux используйте команду free -m. Свободно отображает общий объем свободной или занятой памяти, а так же подкачки в системе. Команду «free» можно использовать с различными параметрами, я приведу несколько из них:

free с параметрами

-b отображает объем памяти в байтах
-k коммутатор (установлен по умолчанию) отображает в килобайтах
-m отображает в мегабайтах
-g отображает в гигабайтах.

swpd: объем виртуальной памяти который используется.
free: количество простоя в памяти.
buff: объем памяти которая используется в качестве буферов.
cache: объем памяти используется в качестве кэш-памяти.

Читайте также:  Не работает клавиатура при включении компьютера windows

На этом тема «Как в Linux узнать объем занятой/свободной памяти» завершена, очень полезная команда. Советую использовать ее.

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

Как определить объем использованной памяти и среднюю нагрузку на Linux-сервере?

Я использую сервер на базе linux, который имеет 128 ГБ памяти и 24 ядра. Я использую инструмент top, для определения потребления памяти. У меня есть два вопроса:

  1. Каждый из запущенных процессов имеет очень низкий процент используемой памяти (%MEM не более 0.2%, а большинство всего 0.0%), тогда как, суммарный объем памяти имеет показатели, как в четвертой строке вывода («Mem: 130766620k total, 130161072k used, 605548k free, 919300k buffers»)? В итоге, объем памяти по всем процессам кажется имеет недостоверное значение, достигая почти 100%, не так ли?
  2. Как понять показатели средних значений нагрузки в первой строке («load average: 14.04, 14.02, 14.00»)?

top — 12:45:33 up 19 days, 23:11, 18 users, load average: 14.04, 14.02, 14.00

Tasks: 484 total, 12 running, 472 sleeping, 0 stopped, 0 zombie

Cpu(s): 36.7%us, 19.7%sy, 0.0%ni, 43.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Mem: 130766620k total, 130161072k used, 605548k free, 919300k buffers

Swap: 63111312k total, 500556k used, 62610756k free, 124437752k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

6529 sanchez 18 -2 1075m 219m 13m S 100 0.2 13760:23 MATLAB

13210 timothy 18 -2 48336 37m 1216 R 100 0.0 3:56.75 absurdity

13888 timothy 18 -2 48336 37m 1204 R 100 0.0 2:04.89 absurdity

14542 timothy 18 -2 48336 37m 1196 R 100 0.0 1:08.34 absurdity

14544 timothy 18 -2 2888 2076 400 R 100 0.0 1:06.14 gatherData

6183 sanchez 18 -2 1133m 195m 13m S 100 0.2 13676:04 MATLAB

6795 sanchez 18 -2 1079m 210m 13m S 100 0.2 13734:26 MATLAB

10178 timothy 18 -2 48336 37m 1204 R 100 0.0 11:33.93 absurdity

12438 timothy 18 -2 48336 37m 1216 R 100 0.0 5:38.17 absurdity

13661 timothy 18 -2 48336 37m 1216 R 100 0.0 2:44.13 absurdity

14098 timothy 18 -2 48336 37m 1204 R 100 0.0 1:58.31 absurdity

14335 timothy 18 -2 48336 37m 1196 R 100 0.0 1:08.93 absurdity

14765 timothy 18 -2 48336 37m 1196 R 99 0.0 0:32.57 absurdity

13445 timothy 18 -2 48336 37m 1216 R 99 0.0 3:01.37 absurdity

28990 root 20 0 0 0 0 S 2 0.0 65:50.21 pdflush

12141 tim 18 -2 19380 1660 1024 R 1 0.0 0:04.04 top

1240 root 15 -5 0 0 0 S 0 0.0 16:07.11 kjournald

9019 root 20 0 296m 4460 2616 S 0 0.0 82:19.51 kdm_greet

1 root 20 0 4028 728 592 S 0 0.0 0:03.11 init

2 root 15 -5 0 0 0 S 0 0.0 0:00.00 kthreadd

3 root RT -5 0 0 0 S 0 0.0 0:01.01 migration/0

4 root 15 -5 0 0 0 S 0 0.0 0:08.13 ksoftirqd/0

5 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/0

6 root RT -5 0 0 0 S 0 0.0 17:27.31 migration/1

7 root 15 -5 0 0 0 S 0 0.0 0:01.21 ksoftirqd/1

8 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/1

9 root RT -5 0 0 0 S 0 0.0 10:02.56 migration/2

10 root 15 -5 0 0 0 S 0 0.0 0:00.34 ksoftirqd/2

11 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/2

12 root RT -5 0 0 0 S 0 0.0 4:29.53 migration/3

13 root 15 -5 0 0 0 S 0 0.0 0:00.34 ksoftirqd/3

Ответ 1

Чтобы узнать, сколько памяти вы используется в данный момент, необходимо запустить инструмент free -m . Результат будет примерно таким:

total used free shared buffers cached

Mem: 2012 1923 88 0 91 515

-/+ buffers/cache: 1316 695

Swap: 3153 256 2896

Значение ‘used’ в верхней строке (1923) почти всегда почти соответствует значению mem в верхней строке (2012). Поскольку Linux использует свободную память для кэширования дисковых блоков (515).

Читайте также:  Teaming сетевых карт windows

Ключевым показателем, на который следует обратить внимание, является значение используемой строки буферов/кеша (1316). Это показатель, сколько места в настоящее время используют ваши приложения. Для лучшей производительности это число должно быть меньше вашего общего объема памяти (2012). Чтобы предотвратить ошибки при нехватке памяти, он должен быть меньше, чем общий объем памяти (2012) и объем файла подкачки (3153).

Если вы хотите быстро узнать, сколько памяти свободно, посмотрите на значение свободной строки буферов/кеша (695). Это общий объем памяти (2012) и фактически выделенной(1316). (2012 — 1316 = 696, не 695, просто это ошибка округления)

(2) Как понять среднюю нагрузку в первой строке («средняя нагрузка: 14.04, 14.02, 14.00»)?

Для вашего случая:

В многопроцессорной системе нагрузка зависит от количества доступных ядер процессора. Оценка «100% использования» составляет 1,00 для одноядерной системы, 2,00 для двухъядерной системы, 4,00 для четырехъядерной системы и т. д.

Таким образом, при средней загрузке 14,00 и 24 ядерного сервера – нагрузка находится в пределах нормы.

Ответ 2

Unix-подобные системы, в том числе Linux, предназначены для наиболее эффективного использования доступной оперативной памяти. В общих чертах, каждый МБ ОЗУ может находиться в трех состояниях:

  1. Свободен
  2. Используется процессом
  3. Используется для буферов

Третье состояние используется только, как рабочее пространство и предназначено для переназначения при необходимости, т.е. ваша общая доступная память для программ свободна + используется для буферов. Таким образом, вы не увидите, что выделенное буферное пространство отображается как назначенное какому-либо конкретному процессу.

Ваш вопрос о средней нагрузке немного интереснее, так как его легко можно неправильно истолковать.

Это означает, что вы можете считать среднюю нагрузку следующим образом: (количество запущенных процессов)+(количество процессов, ожидающих ввода-вывода). Учитывая, что в любой момент времени у вас может быть $CORE количество выполняемых процессов, я бы сказал, что ваша средняя нагрузка в 14 довольно низкая.

Ответ 3

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

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

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Smem – Отчеты о распределении памяти между процессами и пользователями в Linux

И снова здравствуйте. Друзья, хотим поделиться с вами переводом полезного материала о мониторинге использования памяти в Linux. Данный материал подготовлен специально для студентов курса «Администратор Linux».

Управление памятью в вопросах мониторинга ее использования – одна из самых важных областей в вашей Linux системе. В различных дистрибутивах Linux существует великое множество инструментов для мониторинга использования памяти. Работают они тоже по разному, но в этой статье мы рассмотрим установку и использования такого инструмента как smem.

Smem – это инструмент предоставления отчетов в командной строке, который выдает пользователю различные сводки по использованию памяти в системе Linux. В smem есть одна уникальная вещь, которая отличает его от традиционных инструментов мониторинга памяти. Дело в том, что smem сообщает вам PSS (Proportional Set Size), то есть он дает более полноценное представление о распределении памяти между приложениями и библиотеками в настройках виртуальной памяти.

Существующие традиционные инструменты сосредоточена главным образом на считывании RSS (Resident Set Size), т.е. на стандартной мере мониторинга использования памяти в физической схеме памяти, которая тем не менее имеет тенденцию переоценивать использование памяти приложениями.

Читайте также:  Как удалить встроенные приложения mac os big sur

С другой стороны PSS рационально оценивает использование памяти, определяя справедливое ее распределение между приложениями и библиотеками в схеме виртуальной памяти.

Вы можете обратиться к этому руководству (о PSS и RSS памяти), чтобы понять механизм потребления памяти в системе Linux. А теперь давайте перейдем к рассмотрению некоторых особенностей smem.
Особенности Smem:

  • Листинг обзора системы;
  • Листинг и фильтрация по процессам, маппингам и пользователям;
  • Использование данных из файловой системы /proc;
  • Настраиваемые столбцы листинга для нескольких источников данных;
  • Конфигурируемые блоки вывода и процентные показатели;
  • Простота настройки заголовков и итогов в списках;
  • Использование моментальных снимков из зеркал каталогов или сжатых tar файлов;
  • Встроенный механизм генерации диаграмм;
  • Облегчённый инструмент захвата, используемый во встроенных системах.

Как установить Smem – инструмент мониторинга памяти в Linux

Перед тем, как приступить к установке smem, необходимо убедиться, что ваша система удовлетворяет следующим параметрам:

  • Современное ядро (версия от 2.6.27);
  • Актуальная версия Python (поддерживается от 2.4);
  • Опционально библиотека matplotlib для генерации диаграмм.

Большинство дистрибутивов Linux на сегодняшний день поставляются с последней версией ядра с поддержкой Python 2 или 3, поэтому единственным требованием по сути может быть только установка matplotlib для отрисовки красивых графиков.

На системах RHEL, CentOS и Fedora

Для начала включите репозиторий EPEL (Extra Packages for Enterprise Linux), затем установите следующее:

На системах Debian и Ubuntu

На Linux Mint

На Arch Linux

Как использовать Smem

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

Когда стандартный пользователь запускает smem, то отображается использование памяти процессом, который инициировал этот пользователь. Процессы организованы по возрастанию PSS.
Взгляните на пример вывода для моей системы. Здесь показано использование памяти для процессов, инициированных пользователем aaronkilik:

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

Также вы можете просмотреть использование памяти маппингами:

У smem есть параметры фильтрации выходных данных. Сейчас мы взглянем на два примера.
Фильтрация вывода по имени пользователя (username) осуществляется вызовом опций -u или —userfilter=»regex» , как в примере ниже:

Чтобы отфильтровать выходные данные по имени процесса, включите опцию -P или —processfilter=»regex» :

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

Чтобы отображать в отчете только необходимые столбцы, используйте -c или –columns , как показано ниже:

Вы можете использовать параметр -p , чтобы выводить отчет об использовании памяти в процентном соотношении:

Следующая команда будет выводить итоговые показатели в конце каждого столбца выходных данных:

Кроме того, есть специальные опции для графических сводок, которые вы также можете использовать. В этой секции мы их и рассмотрим.

Вы можете создать гистограмму процессов и их PSS и RSS значений. В приведенном ниже примере мы создаем гистограмму процессов, принадлежащих пользователю root.

Вы имеете возможность создать круговую диаграмму, отражающую процессы и потребление памяти ими на основе PSS или RSS значений. Команда ниже выводит круговую диаграмму для процессов, принадлежащих пользователю root, отражающую ключевые значения.
— — pie означает метку по имени, а опция -s помогает сортировать по значению PSS.

Существует множество других полей помимо PSS и RSS, используемых для маркировки диаграмм.

Чтобы увидеть справку, просто введите smem -h или обратитесь к документации.

Сейчас мы остановимся в smem на этом этапе. Если вы хотите получше разобраться с этим инструментом, посетите страницу руководства.

Источник

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