- Информация об оперативной памяти в Linux. Свободная, занятая и тип памяти
- Свободная и занятая оперативная память
- Команда free
- Команда vmstat
- Команда top
- Команда htop
- Файл /proc/meminfo
- Тип памяти и частота
- Заключение
- linux-notes.org
- Как в Linux узнать объем занятой/свободной памяти
- Добавить комментарий Отменить ответ
- Как определить объем использованной памяти и среднюю нагрузку на Linux-сервере?
- Ответ 1
- Ответ 2
- Ответ 3
- Smem – Отчеты о распределении памяти между процессами и пользователями в Linux
- Как установить Smem – инструмент мониторинга памяти в Linux
- На системах RHEL, CentOS и Fedora
- На системах Debian и Ubuntu
- На Linux Mint
- На Arch Linux
- Как использовать Smem
Информация об оперативной памяти в 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: объем памяти используется в качестве кэш-памяти.
На этом тема «Как в Linux узнать объем занятой/свободной памяти» завершена, очень полезная команда. Советую использовать ее.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник
Как определить объем использованной памяти и среднюю нагрузку на Linux-сервере?
Я использую сервер на базе linux, который имеет 128 ГБ памяти и 24 ядра. Я использую инструмент top, для определения потребления памяти. У меня есть два вопроса:
- Каждый из запущенных процессов имеет очень низкий процент используемой памяти (%MEM не более 0.2%, а большинство всего 0.0%), тогда как, суммарный объем памяти имеет показатели, как в четвертой строке вывода («Mem: 130766620k total, 130161072k used, 605548k free, 919300k buffers»)? В итоге, объем памяти по всем процессам кажется имеет недостоверное значение, достигая почти 100%, не так ли?
- Как понять показатели средних значений нагрузки в первой строке («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).
Ключевым показателем, на который следует обратить внимание, является значение используемой строки буферов/кеша (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, предназначены для наиболее эффективного использования доступной оперативной памяти. В общих чертах, каждый МБ ОЗУ может находиться в трех состояниях:
- Свободен
- Используется процессом
- Используется для буферов
Третье состояние используется только, как рабочее пространство и предназначено для переназначения при необходимости, т.е. ваша общая доступная память для программ свободна + используется для буферов. Таким образом, вы не увидите, что выделенное буферное пространство отображается как назначенное какому-либо конкретному процессу.
Ваш вопрос о средней нагрузке немного интереснее, так как его легко можно неправильно истолковать.
Это означает, что вы можете считать среднюю нагрузку следующим образом: (количество запущенных процессов)+(количество процессов, ожидающих ввода-вывода). Учитывая, что в любой момент времени у вас может быть $CORE количество выполняемых процессов, я бы сказал, что ваша средняя нагрузка в 14 довольно низкая.
Ответ 3
Linux в течение определенного времени управляет своей памятью таким образом, что информация top является практически бесполезной, обычно оставляя большую часть памяти машины выделенной для различных целей, когда это не требуется для пользовательских процессов.
Средняя загрузка — это среднее количество запущенных или ожидающих запуска процессов. Обычно она имеет сильную отрицательную корреляцию с задержкой/отзывчивостью системы, поэтому необходимо, чтобы она был как можно ниже. Поскольку каждый из ваших процессоров может быть занят чем-то в любой момент времени, похоже, ваш сервер вполне справляется.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Источник
Smem – Отчеты о распределении памяти между процессами и пользователями в Linux
И снова здравствуйте. Друзья, хотим поделиться с вами переводом полезного материала о мониторинге использования памяти в Linux. Данный материал подготовлен специально для студентов курса «Администратор Linux».
Управление памятью в вопросах мониторинга ее использования – одна из самых важных областей в вашей Linux системе. В различных дистрибутивах Linux существует великое множество инструментов для мониторинга использования памяти. Работают они тоже по разному, но в этой статье мы рассмотрим установку и использования такого инструмента как smem.
Smem – это инструмент предоставления отчетов в командной строке, который выдает пользователю различные сводки по использованию памяти в системе Linux. В smem есть одна уникальная вещь, которая отличает его от традиционных инструментов мониторинга памяти. Дело в том, что smem сообщает вам PSS (Proportional Set Size), то есть он дает более полноценное представление о распределении памяти между приложениями и библиотеками в настройках виртуальной памяти.
Существующие традиционные инструменты сосредоточена главным образом на считывании RSS (Resident Set Size), т.е. на стандартной мере мониторинга использования памяти в физической схеме памяти, которая тем не менее имеет тенденцию переоценивать использование памяти приложениями.
С другой стороны 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 на этом этапе. Если вы хотите получше разобраться с этим инструментом, посетите страницу руководства.
Источник