Linux как посмотреть кто использует память

Содержание
  1. Как узнать кем используется память?
  2. Re: Как узнать кем используется память?
  3. Re: Как узнать кем используется память?
  4. Re: Как узнать кем используется память?
  5. Re: Как узнать кем используется память?
  6. Re: Как узнать кем используется память?
  7. Re: Как узнать кем используется память?
  8. Re: Как узнать кем используется память?
  9. Re: Как узнать кем используется память?
  10. Re: Как узнать кем используется память?
  11. Re: Как узнать кем используется память?
  12. Re: Как узнать кем используется память?
  13. Информация об оперативной памяти в Linux. Свободная, занятая и тип памяти
  14. Свободная и занятая оперативная память
  15. Команда free
  16. Команда vmstat
  17. Команда top
  18. Команда htop
  19. Файл /proc/meminfo
  20. Тип памяти и частота
  21. Заключение
  22. Linux, кто съел всю память?
  23. 4 способа найти процессы потребляющие наибольшее кол-во памяти в Linux.
  24. 1. Выяснить процессы потребляющие наибольшее количество памяти в Linux с помощью команды ps.
  25. 2. Постоянное наблюдение процессов в памяти в Linux.
  26. 3. Выявление процессов, потребляющих наибольшее количество памяти в Linux с помощью команды top.
  27. 4. С помощью команды htop.
  28. Smem – Отчеты о распределении памяти между процессами и пользователями в Linux
  29. Как установить Smem – инструмент мониторинга памяти в Linux
  30. На системах RHEL, CentOS и Fedora
  31. На системах Debian и Ubuntu
  32. На Linux Mint
  33. На Arch Linux
  34. Как использовать Smem

Как узнать кем используется память?

Добрый вечер, друзья.

# free total used free shared buffers cached Mem: 8309848 3689860 4619988 0 205916 2759908

Как узнать чем занята 3.6 Гига памяти? Желательно по процессам. Заранее спасибо.

Re: Как узнать кем используется память?

Re: Как узнать кем используется память?

Предвижу нуба, который не знает о файловом кэше.

Re: Как узнать кем используется память?

Смотри следующую строчку.
Хотя вообще — ps -A -o rss,cmd —sort rss.

Re: Как узнать кем используется память?

top, потом ‘F’, потом ‘n’, потом Enter

Re: Как узнать кем используется память?

Re: Как узнать кем используется память?

Re: Как узнать кем используется память?

к сожалению top F n не помогает, не сильно отличается от самого top. там на пике показано что используется 1.5 % памяти, хотя free выдает что занято уже 3.5 гига из 8

Re: Как узнать кем используется память?

memstat по умолчанию не стоит

Re: Как узнать кем используется память?

ps -A -o rss,cmd —sort rss тоже не то. free мне показывает что used 3.5 гига из 8. все вышеперечисленные методы не сильно отличаются от команды top, которая показывает не ту картину. Может я что-то не догоняю 🙁

Re: Как узнать кем используется память?

% free -m
total used free shared buffers cached
Mem: 945 546 399 0 98 204
-/+ buffers/cache: 244 701
Swap: 2047 0 2047

Реально используется 244 мб памяти.
Кэш можно и почистить, кстати (только зачем?)
for i in 1 2 3 0; do sysctl vm.drop_caches=$i; done

Re: Как узнать кем используется память?

> к сожалению top F n не помогает, не сильно отличается от самого top. там на пике показано что используется 1.5 % памяти, хотя free выдает что занято уже 3.5 гига из 8

Ну вот и правильно. Оставшаяся ОЗУ занята под кеш. Это нормально.

Источник

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

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

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

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

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

Команда free

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

Читайте также:  Работа с интерпретатором командной строки windows

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

  • -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, кто съел всю память?

Столкнулся с проблемой, а точнее, некоторым моим не пониманием работы Linux систем. Зайдя на один из серверов я увидел следующее:

В этой картине меня привлекло значение потребляемой памяти. А именно написано, что из 16 Гб оперативки используется 14 Гб. Но на сервере крутится всего один маленький сайтик, и он не может съедать столько памяти.

Дальше я проверил этот результат командой:

и получил такую же картину:

Это было очень подозрительно.. Чтобы определить какие процессы, сколько съедают памяти я использовал следующую команду (описание тут: Как узнать какой процесс ест больше всего памяти в Linux):

Результатом, я остался не доволен, потому что, в совокупности все процессы, съедали, что-то около 2-х Гб:

Тогда я полез в поиск и нашел скрипт ps_mem.py, который подсчитывает кол-во памяти по процессам. Скрипт написан на питоне, пост про него тут: Подсчет потребляемой памяти процеcсами в Linux. Но он так же показывал, что все вместе процессы, не потребляют столько памяти.

Дальше я подумал, что проблема именно с ядром, и полез искать инфу, по ключевику: «linux ram size is not correct«, долго ли коротко, но нашел я вот такой ответ, на одно из сообщений:

As I understand it, on Linux ‘used’ memory is split into ‘active’ and ‘inactive’.

Active memory is memory which is currently allocated to a process and in use by it.

Inactive is memory that has been allocated to a process but is no longer in use by it (it has been freed). The allocator puts this memory on one side for later use, but doesn’t empty it. If the same data that is in that memory block is requested again it just re-allocates that memory block to the process. If a block of memory is requested and there is no ‘clean’ memory left it starts re-allocating this ‘dirty’ memory.

Читайте также:  Windows from usb winsetupfromusb

Examining /proc/meminfo can show you how much of your ‘used’ memory is active and how much is inactive.

Вкратце написано следующее: в Linux системах память делится на активную и неактивную. Неактивная это та, что выделена процессу, но больше не используется им. Allocator ( выделятор 🙂 ) оставляет эту память для дальнейшего использования, и не очищает её. Если данные расположенные в этой памяти понадобятся он их сразу вернет. Если же другому процессу, потребуется эта память и не будет «чистой памяти», то тогда будет распределятся неактивная память.

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

Проверить кол-во неактивной памяти можно так:

Источник

4 способа найти процессы потребляющие наибольшее кол-во памяти в Linux.

Главное меню » Операционная система Linux » 4 способа найти процессы потребляющие наибольшее кол-во памяти в Linux.

1. Выяснить процессы потребляющие наибольшее количество памяти в Linux с помощью команды ps.

Существует один код доступный с помощью командой ps, который поможет вам найти процессы потребляющие наибольшее количество памяти в Linux.

Команда:

Пример вывода:

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

2. Постоянное наблюдение процессов в памяти в Linux.

Если вам необходимо контролировать вывод непрерывно. Пример команды watch ниже очень удобна.

Команда:

Пример вывода:

3. Выявление процессов, потребляющих наибольшее количество памяти в Linux с помощью команды top.

Тот же вывод команды ps также может быть достигнут с использованием нативной команды top в Linux.

Команда:

Пример вывода:

4. С помощью команды htop.

Существует еще одна утилита под названием htop, которая поможет вам найти процессы потребляющие наибольшее кол-во памяти в Linux.

Команда:

После выполнения команды htop, откроется окно с непрерывным выводом данных, как показано ниже:

Для того, чтобы разобраться в процессах по использованию памяти просто нажмите кнопку «F6», а затем выберите память и нажмите клавишу ВВОД. Вы можете увидеть процессы, отсортированные по использованию памяти, как показано ниже:

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

Источник

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

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

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

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

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

Читайте также:  Акселерометр windows 10 драйвер

С другой стороны 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 на этом этапе. Если вы хотите получше разобраться с этим инструментом, посетите страницу руководства.

Источник

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