как посмотреть использование оперативной памяти linux

Как в Linux узнать, какой процесс использует всю оперативную память (RAM)?

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

Как узнать, сколько свободной памяти в Linux

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

Вы увидите примерно следующее:

В этой табличке означает:

Итак, если значение поля free, а в особенности поля available очень мало или равно нулю, значит нужно принимать меры, иначе рабочая станция или сервер будут работать крайне медленно либо могут полностью зависнуть.

Как просмотреть, какая программа потребляет больше всего оперативной памяти в top

Запуск программы top:

По умолчанию программа top сортирует процессы по их нагрузке на центральный процессор. Чтобы посмотреть, по какому полю выполняется сортировка, нажмите клавишу x:

По умолчанию в top отображаются следующие виды памяти:

Пример сортировки по %MEM:

Сортировка по VIRT:

Как найти программы, которые используют больше всего памяти в ps

С помощью утилиты ps также можно составить список, отсортированный по количеству потребляемой памяти, для этого выполните:

Самые «прожорливые» процессы будут внизу:

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

Ещё одна элегантная команда с использованием ps:

Она покажет что-то вроде:

Невозможно найти, через какой процесс утекает оперативная память — сумма памяти процессов меньше общей используемой памяти

В некоторых версиях ядер Linux присутствовала проблема утечки памяти на уровне ядра, поэтому нет никакой возможности обнаружить её инструментами пользовательского пространства. Пример такого ядра — 3.13.

Причём некоторые ядра допускают утечку памяти только в определённых условиях (пример: Linux Mint 17 при использовании btrfs).

Самым лучшим вариантом в этом случае является обновление ядра и системы в целом до новой версии.

Источник

Как узнать оперативную память Linux

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

Как узнать оперативную память Linux

1. Файл /proc/meminfo

2. atop

sudo apt install atop

И только потом можно использовать:

3. free

4. Системный монитор Gnome

5. htop

6. KDE System Monitor

Как и у Gnome у KDE есть свое решение, которое помогает узнать использование оперативной памяти Linux. Программа KDE System Monitor очень похожа по функцональности на свой аналог в Gnome. Есть просмотр статистики использования системных ресурсов, а также отображение потребления памяти и процессора напротив каждого процесса.

7. memstat

Утилита memstat полезна для определения какой исполняемый файл, процесс или библиотека использует много оперативной памяти. Утилита определяет количество использованных ресурсов по PID идентификатору процесса. Эту утилиту тоже надо установить:

sudo apt install memstat

8. nmon

sudo apt install nmon

Чтобы утилита отобразила память поле её запуска надо нажать клавишу M:

10. smem

Команда smem позволяет измерить количество памяти используемое различными процессами и пользователями на основе информации взятой из /proc. Она показывает количество ресурсов в процентном соотношении. Для установки выплните:

sudo apt install smem

Данные могут быть экспортированы в виде диаграмм, таких как круговые графики:

11. top

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

12. vmstat

Утилита командной строки vmstat отображает статистические данные по использованию CPU, памяти, прерываний и ввода вывода на диск. Команда показывает не только физическую память (всего, использовано, кэшировано, буферизировано), но и статистику по виртуальной памяти (количество страниц в подкачке и т д)

13. dmidecode

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

14. lshw

Команда lshw тоже позволяет просматривать информацию об оборудовании компьютера, выводит практически аналогичные данные, что и dmidecode, только по русски и в более удобном формате:

Выводы

Из этой статьи вы узнали множество способов как узнать оперативную память Linux, как видите, существует просто огромное количество методов в зависимости от ваших потребностей. Я, обычно, смотрю свободную память с помощью утилиты free. А какие инструменты используете вы? Напишите в комментариях!

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

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

9 комментариев

Ваш сайт все интереснее от стать к статье.

Возможно не совсем в тему. Подскажите пожалуйста почему Linux Mint 17, может не видеть оперативную память? В биосе определяется 2 Гб, Win XP, установленная на этом же компьютере, тоже определяет 2 Гб, Mint, упорно показывает 1. В какую сторону думать?

Даже не знаю. попробуйте поспрашивать на специализированных форумах по аппаратному обеспечению.

Я грешу на опцию ядра highmem, но как проверить не знаю. Может попробывать другую версию ядра, сейчас стоит 3.13.0.24, не подскажите какое ядро лучше поставить?

Ставьте 4.4 или 4.6. Обычно во всех современных дистрибутивах ядро собрано с поддержкой highmem, но можете попробовать пересобрать. Также можно попробовать указать количество памяти в параметрах загрузки ядра с помощью опции mem (в мегабайтах)

Это в файле /boot/grub/grub.cfg?

Здравствуйте! Почему используется виртуальная память, когда ещё физической (озу) достаточно?
В sysctl.conf добавил
vm.swappiness = 10
vm.vfs_cache_pressure = 1000
ОЗУ 8ГБ, при 1-1,5ГБ уже используется swap, хотя должен при 10% свободной. Linux Debian 8. На Ubuntu Server 14.04 LTS эти же настройки работали.

Сервер на debian 14.04
на борту MySQL и nginx с виртуальными хостами
Ужасно тормозят сайты использующие локальную БД (одна страница может открываться до 60 секунд)
При таком раскладе это нормально (дело в нехватки ОЗУ? ведь в кэше 2549976 kB) или ковырять конфиги MySQL?

MemTotal: 4043988 kB
MemFree: 246324 kB
MemAvailable: 2816676 kB
Buffers: 217996 kB
Cached: 2549976 kB
SwapCached: 0 kB
Active: 2036160 kB
Inactive: 1559340 kB
Active(anon): 442784 kB
Inactive(anon): 453880 kB
Active(file): 1593376 kB
Inactive(file): 1105460 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 8388604 kB
SwapFree: 8388352 kB
Dirty: 100 kB
Writeback: 0 kB
AnonPages: 827528 kB
Mapped: 100952 kB
Shmem: 69136 kB
Slab: 166384 kB
SReclaimable: 149268 kB
SUnreclaim: 17116 kB
KernelStack: 2608 kB
PageTables: 11508 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 10410596 kB
Committed_AS: 1655292 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
HardwareCorrupted: 0 kB
AnonHugePages: 690176 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 58944 kB
DirectMap2M: 4132864 kB

total used free shared buffers cached
Mem: 3.9G 3.6G 232M 67M 213M 2.4G
-/+ buffers/cache: 1.0G 2.9G
Swap: 8.0G 252K 8.0G

Источник

Как проверить использование памяти в Linux

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

В этой статье объясняется, как проверить использование ОЗУ в Linux с помощью нескольких разных команд.

free команда

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

Вот что означает каждый столбец:

top команда

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

Чтобы вызвать команду, просто введите top :

Результат будет выглядеть примерно так:

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

Столбец %MEM предоставляет информацию об используемой доле доступной физической памяти для каждого запущенного процесса.

/proc/meminfo

Используйте less или cat для просмотра содержимого файла /proc/meminfo :

Файл включает в себя большой объем информации об использовании системной памяти и подкачки:

Информация из файла /proc/meminfo может быть проанализирована и использована в сценариях оболочки.

ps_mem Скрипт

ps_mem — это скрипт Python, который сообщает об использовании памяти RAM для каждой программы. Он работает как с Python 2, так и с 3 и может быть установлен с помощью pip :

Для ps_mem требуются права администратора:

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

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

Выводы

Мы показали вам несколько команд, которые вы можете использовать для проверки использования системной памяти.

Если у вас есть вопросы или замечания, пожалуйста, оставьте комментарий ниже.

Источник

Как проверить использование памяти на Linux

Когда дело доходит до оптимизации производительности системы Linux, физическая память является самым важным фактором. Естественно, Linux предлагает множество вариантов, чтобы контролировать использование драгоценного ресурса памяти. Различные инструменты различаются с точки зрения их детализации мониторинга (например, в рамках всей системы, на процесс, на пользователя), интерфейса (например, графический, командной строки, ncurses) или режима работы (например, интерактивный, пакетный режим).

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

1. /proc/meminfo

Самый простой способ проверить использование оперативной памяти — через /proc/meminfo. Этот динамично обновляемый виртуальный файл, на самом деле, источник отображаемой информации для многих других, связанных с памятью, инструментами, такими как free, top и ps tools. От количество доступной/физической памяти до количества буфера, ожидаемого для записи обратно на диск, /proc/meminfo имеет всё, что вы хотите знать об использовании системной памяти. Информация о памяти процессами также доступна из /proc/

2. atop

Команда atop — это основанная на интерфейсе ncurses интерактивная система и наблюдатель процессов для терминального окружения. Он показывает динамически обновляемую краткую информацию о системных источниках (процессор, память, сеть, ввод/вывод, ядро) с цветными предупреждениями в случае высокой загрузки системы. Он также может отсортировать процессы (или пользователей) в порядке наибольшего потребления ресурсов ими, так, что системный администратор может сказать, какой процесс или пользователь ответственен за загрузку системы. Отчёты по статистике памяти включают общую/свободную память, кэшированную/буферезированную память и информацию по виртуальной памяти.

3. free

Команда free — это быстрый и простой способ получить обзор использования памяти, почерпнутые из /proc/meminfo. Она показывает снимок общей/доступной физической памяти и подкачу системы также как используемое/свободное буферное пространство в ядре.

4. GNOME System Monitor

GNOME System Monitor — это графическое приложение, которое показывают краткую историю использования системных ресурсов для центрольного процессора, памяти, места подкачки и сети. Оно также предлагает процесс наблюдения за использования процессора и памяти.

5. htop

Команда htop — это основанный на ncurses интерактивный просмотрщик процессов, который показывает использование памяти по процессам в реальном времени. Он может сообщить размер занимаемой памяти процессом в основной памяти (RSS), общий размер программы в памяти, размер библиотеки, размер общей страницы, и размер грязной страницы (в кэше) для всех запущенных процессов. Вы можете горизонтально или вертикально промотать (отсортированный) список всех процессов.

6. KDE System Monitor

В то время как рабочий стол GNOME имеет GNOME System Monitor, рабочий стол KDE имеет свой собственный аналог: KDE System Monitor. Его функциональность преимущественно схожа с версией GNOME, т. е. Показ в реальном времени историю использования системных ресурсов, также как и потребление процессора/памяти отдельными процессами.

7. memstat

Утилита memstat — это полезный для выявления какой (какие) исполняемый(ые) процесс(ы) и разделяемые библиотеки потребляют виртуальную память. Получая ID процесса, memstat выявляет как много виртуальной памяти использовано связанными с этим процессом исполнимым кодом, данными и разделяемыми библиотеками.

8. nmon

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

Команда ps может показать использование памяти отдельными процессами в реальном времени. Отображаемая информация использования памяти включает %MEM (процент от используемой физической памяти), VSZ (общее количество используемой виртуальной памяти) и RSS (общее количество используемой физической памяти). Вы можете отсортировать список процессов, используя опцию «—sort». Например, для сортировки по убыванию RSS:

10. smem

Команда smem позволяет вам измерять использование физической памяти различными процессами и пользователями, основываясь на информации, доступной из /proc. Эта утилита использует метрику пропорционально установленного размера (PSS), для точной оценки использования процессами Linux размера эффективной памяти. Анализ использования памяти может быть экспортирован в графические диаграммы в виде столбиков и нарезанных на части кнугов.

11. top

Команда top предлагает наблюдение за запущенными процессами в реальном времени вместе с различными статистиками процессов использования ресурсов. Связанная с памятью информация включает %MEM (процент используемой памяти), VIRT (общее количество используемой виртуальной памяти), SWAP (количество подкаченной виртуальной памяти), CODE (количество физической памяти, выделенной для исполнения кода), DATA (количество физической памяти выделенной для не-исполнимых данных), RES (общее количество используемой физической памяти, CODE+DATA) и SHR (количество потенциально разделённой памяти с другими процессами). Вы можете отсортировать список процессов, основываясь на использование памяти или размере.

12. vmstat

Утилита командной строки vmstat отображает немедленную и среднюю статистику различных системных активностей, включая центральный процессор, память, прерывания и дисковый ввод/вывод. Как источник информации по памяти, эта команда показывает не только использование физической памяти (например, общей/используемой памяти и буфер/кэш памяти), но также статистику виртуальной памяти (например, память загруженных/выгруженных страниц, подгруженную/загруженную).

Источник

5 команд для проверки использования памяти на Linux

Главное меню » Операционная система Linux » 5 команд для проверки использования памяти на Linux

Использование памяти

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

1. Команда free

Команда free является самой простой и легкой в использовании командой, чтобы проверить использование памяти на Linux. Вот краткий пример

Опция -m отображает все данные в мегабайтах. Общий общий объем оперативной памяти ОС Linux 7976 МБ, установленной в системе, то есть 8 Гб. Колонка used показывает объем оперативной памяти, которая может быть использована на Linux, в нашем случае составит около 6,4 Гб. Загвоздкой здесь является колонки cached и buffers. Вторая строка говорит, что 4,6 Гб свободно. Это свободная память в первой строке с добавлением буферов и объема памяти кэша.

Linux имеет привычку кэшировать для повышения производительности, так что память может быть освобождена и использована при необходимости.
Последняя строка, это подкачка памяти (swap), который в этом случае полностью свободна.

2. /proc/meminfo

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

Проверьте значения MemTotal, MemFree, Buffers, Cached, SwapTotal и SwapFree. Они указывают на одни и те же значения, использования памяти в команде free.

3. vmstat

Верхние несколько строк указывают общий объем памяти, объем свободной памяти и т.д., и так далее.

4. команда top

Команда top обычно используется для проверки памяти и процессора для каждого процесса. Тем не менее она также сообщает общее использование памяти и может быть использована для контроля общего использования памяти. Вывод результата имеет необходимую информацию. Вот пример вывода

Проверьте KiB Mem и KiB Swap в заголовке. Они указывают на общую, используемую и свободную объем памяти. Информация буфера и кэша присутствует здесь тоже, как и команды free.

5. Команда htop

Подобно команды free, команда htop также показывает использование памяти наряду с другими деталями.

Заголовок в верхней части показывает использование центрального процессора вместе с оперативной памятью и использование своп с соответствующими цифрами.

Информация памяти (RAM)

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

Информация включает в себя размер (2048MB), тип (DDR2), скорость (667 МГц) и т.д.

Резюме

Все вышеперечисленные команды работают с терминала и не имеют графического интерфейса. При работе на рабочем столе с графическим интерфейсом, гораздо проще в использовании графический инструмент с графическим выводом. Наиболее распространенные инструменты gnome-system-monitor в gnome и
KSysguard в KDE. Оба предоставляют информацию об использовании ресурсов о CPU, RAM, обмена и пропускной способности сети в графическом режиме и легко понятном визуальном выводы.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • как посмотреть исключения в защитнике windows
  • как посмотреть исключения брандмауэра windows 10
  • как посмотреть информацию об оперативной памяти в windows 10
  • как посмотреть информацию о системе в windows 10
  • как посмотреть информацию о процессоре в windows 10

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии