- Информация об оперативной памяти в Linux. Свободная, занятая и тип памяти
- Свободная и занятая оперативная память
- Команда free
- Команда vmstat
- Команда top
- Команда htop
- Файл /proc/meminfo
- Тип памяти и частота
- Заключение
- Linux ест вашу оперативную память? Как управлять вашей памятью
- Как просмотреть бесплатную оперативную память в Linux
- Как Linux использует оперативную память
- Разница между свободной и доступной оперативной памятью
- Как очистить кэш и буфер оперативной памяти
- Как просмотреть и закрыть программы
- Повышение производительности системы Linux еще больше
- Как узнать оперативную память Linux
- Как узнать оперативную память Linux
- 1. Файл /proc/meminfo
- 2. atop
- 3. free
- 4. Системный монитор Gnome
- 5. htop
- 6. KDE System Monitor
- 7. memstat
- 8. nmon
- 10. smem
- 11. top
- 12. vmstat
- 13. dmidecode
- 14. lshw
- Выводы
- Оцените статью:
- Об авторе
- 9 комментариев
Информация об оперативной памяти в 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 ест вашу оперативную память? Как управлять вашей памятью
Таким образом, вы установили Linux, обещая, что он требует меньше системных ресурсов, чем Windows. Тогда почему в вашей системе вдруг не хватает оперативной памяти?
Не паникуйте! Linux не ест вашу оперативную память. Чтобы понять, что происходит, нам нужно взглянуть на то, как Linux управляет памятью.
Как просмотреть бесплатную оперативную память в Linux
Как и в любом другом случае в Linux, существует несколько способов проверить, сколько ОЗУ используется. Если вы работаете в коммерческой операционной системе, вам может быть проще открыть приложение, похожее на диспетчер задач Windows или монитор активности macOS. Название этой программы зависит от того, какую среду рабочего стола Linux вы используете.
В GNOME, наиболее широко используемой опции, откройте программу под названием Системный монитор. В KDE, аналогичной полнофункциональной альтернативе, используйте Konsole вместо. В других средах рабочего стола есть похожие инструменты под разными именами.
Для подхода, который работает независимо от среды вашего рабочего стола, вы можете обратиться к командной строке. Откройте Терминал приложение и введите следующую команду.
Вы увидите результаты, которые выглядят примерно так. Числа будут меняться в зависимости от объема оперативной памяти, установленной на вашем компьютере, и количества активных программ.
Для более тщательного изучения вашей оперативной памяти попробуйте следующее:
Приведенная выше команда загружает тот же файл, что свободно Команда использует, чтобы увидеть, сколько памяти доступно на вашем компьютере.
Если ваши цифры кажутся серьезными, может показаться, что Linux съел вашу оперативную память. Допустим, у вас есть 4 ГБ ОЗУ, и используется 3,9 ГБ. Только 0,1 ГБ, кажется, бесплатно для дополнительных приложений! Похоже, что вы находитесь в одной программе от остановки вашего компьютера.
Посмотри снова. На этот раз обратите внимание на колонку «доступно». Там вы можете обнаружить, что у вас есть 1 ГБ данных, открытых для приложений. Но как? Все сводится к тому, как Linux управляет и использует RAM
Как Linux использует оперативную память
То, как Linux использует ОЗУ, не сильно отличается от Windows и других операционных систем. Но разные системы представляют то, что происходит по-разному.
Когда ваш компьютер обнаруживает, что в настоящее время ОЗУ не используется, он выделяет часть этого пространства для кэширования диска. Таким образом, приложения хранят данные в более быстром доступе, благодаря чему система работает быстрее и более плавно. Когда другим приложениям требуется больше памяти, они берут необходимое количество из этого дискового кэша, как если бы он оставался без использования.
Другими словами, Linux хорошо использует это пустое пространство в свободное время. Зачем тратить всю эту свободную память впустую?
Чтобы узнать, сколько места используется таким образом, посмотрите на столбец «buff / cache». Это объем оперативной памяти, выделенной для буферов и кеша во время выполнения команды. Идея, что очистка этого пространства может помочь производительности, является распространенным заблуждением об оперативной памяти.
Разница между свободной и доступной оперативной памятью
Теперь, когда вы все схвачены, все еще легко запутаться. Я понимаю. Вот как Linux просматривает вашу оперативную память.
- Используемый: ОЗУ, которое в данный момент используется приложением.
- Имеется в наличии: ОЗУ, которое может использоваться для кэширования диска, но может быть освобождено для приложений.
- Свободно: ОЗУ, которое не используется приложением или кэшированием диска.
Бесплатные и доступные могут показаться синонимами, но есть техническое отличие. Первое — это память, которая вообще не используется. Последнее — это память, которая используется в данный момент, но при необходимости может легко открыться. Для повседневного использования, последнее действительно важно.
Как очистить кэш и буфер оперативной памяти
Допустим, по какой-то причине вы все еще хотите очистить ОЗУ, которое ядро Linux использует для своих буферов и кеша. Чтобы было ясно, это негативно повлияет на производительность. Если вы хотите, чтобы ваша система работала оптимально, оставьте все как есть.
Вы собираетесь запускать эти команды как системный администратор.
Чтобы очистить кэш страницы, введите следующую команду:
Чтобы очистить зубные протезы и иноды, измените число на 2:
Чтобы очистить кеширование страниц, dentries и inode вместе, измените число на 3:
Если эти команды не улучшают работу вашего ПК, зачем их запускать? Это позволяет сравнить производительность вашего компьютера после внесения изменений без перезагрузки. Если вы не тестируете и не тестируете свой компьютер, нет особых причин для беспокойства.
Как просмотреть и закрыть программы
Означает ли все это, что вам не нужно проверять ОЗУ и управлять памятью в Linux? Не совсем.
Хотя Linux знает, как оптимизировать ОЗУ, это не означает, что ваши приложения это делают. Иногда ваш браузер забирает всю вашу память. Игра может зависнуть, не освобождая системные ресурсы. Средство просмотра изображений может зависнуть при попытке загрузить очень большое изображение.
Чтобы узнать, какие программы доставляют вашему компьютеру затруднения, попробуйте Топ команда:
Результаты будут выглядеть примерно так.
Теперь, когда вы обнаружили проблемную программу, что вы можете с этим поделать? Одним из вариантов является использование убийство команда. Для этого запишите номер PID, который появился рядом с программой при вводе Топ. Вам это понадобится.
Кроме того, вы можете использовать убить всех Команда закрыть программу, используя ее имя.
Повышение производительности системы Linux еще больше
В отличие от многих вещей в жизни, память вашего компьютера более или менее управляет собой. Здесь мы рассмотрели способы увидеть, что происходит, и, когда необходимо принять меры, вступить. Теперь вы знаете, как узнать, сколько памяти используется и какие программы ее используют. Вы также можете предпринять несколько шагов, чтобы остановить деятельность, занимающую много места.
Но вышеперечисленные инструменты вряд ли соответствуют тому, что доступно в наборе инструментов Linux. Смотрите наши статьи по ускорению медленного компьютера с Linux
и обновление ядра Linux для повышения производительности
Источник
Как узнать оперативную память Linux
Когда дело доходит до оптимизации производительности системы Linux оперативная память — один из самых важных факторов, на которые нужно обратить внимание. В Linux есть множество утилит для контроля использования этого драгоценного ресурса. Инструменты отличаются друг от друга видом и детальностью предоставляемой информации (например для системы в целом, отдельного процесса или отдельного пользователя) интерфейсом (консольный интерфейс или графический) и режимом работы (интерактивный или пассивный режим).
Ниже представлен небольшой список консольных и графических утилит для проверки количества свободной и используемой оперативной памяти для платформы Linux.
Как узнать оперативную память Linux
1. Файл /proc/meminfo
Простейший способ проверить использование оперативной памяти — посмотреть /proc/meminfo. Это автоматически обновляемый файл, который является источником для таких утилит как free, ps и top. Кроме количества свободной и использованной памяти в /proc/meminfo есть все что можно узнать о памяти. Информация о памяти для конкретного процесса находится по адресу /proc/pid/statm или /proc/pid/status.
2. atop
Утилита atop — основана на ncurses и представляет из себя интерактивный монитор ресурсов. Она показывает в динамическом режиме такие системные параметры: CPU, память, нагрузка на сеть и другие. Также есть подсветка цветом при перегрузке системы. Можно посмотреть топ процессов или пользователей по использованию ими ресурсов, таким образом системный администратор может понять какие процессы или пользователи перегружают систему. Из памяти можно отобразить свободную, кэш, буферизированную и виртуальную. Утилиту сначала надо установить:
sudo apt install atop
И только потом можно использовать:
3. free
Команда free — это быстрый и простой способ посмотреть оперативную память linux получив информацию о её использовании из файла /proc/meminfo. Будет показано общее количество и количество свободной физической памяти и файла подкачки, а также буфера ядра.
4. Системный монитор Gnome
GNOME System Monitor — это приложение с графическим интерфейсом, которое показывает краткую статистику использования системных ресурсов — памяти, процессора, подкачки и сети. Также есть информация по использованию процессора и памяти для каждого процесса. Запустите утилиту и откройте вкладку Ресурсы:
5. htop
Программа htop — основанный на ncurses монитор процессов, который показывает использование процессора и памяти для каждого процесса по отдельности в реальном времени. Здесь можно посмотреть количество резидентной памяти, общий объем памяти для программы, размер библиотек, размер страниц, и количество памяти для всех запущенных процессов. Также на удобной псевдографической диаграмме можно посмотреть сколько памяти занято Linux:
6. KDE System Monitor
Как и у Gnome у KDE есть свое решение, которое помогает узнать использование оперативной памяти Linux. Программа KDE System Monitor очень похожа по функцональности на свой аналог в Gnome. Есть просмотр статистики использования системных ресурсов, а также отображение потребления памяти и процессора напротив каждого процесса.
7. memstat
Утилита memstat полезна для определения какой исполняемый файл, процесс или библиотека использует много оперативной памяти. Утилита определяет количество использованных ресурсов по PID идентификатору процесса. Эту утилиту тоже надо установить:
sudo apt install memstat
8. nmon
Программа nmon — представляет из себя ncurses инструмент для тестирования системы. Можно тестировать центральный процессор, память, диск, ввод\вывод, ядро, файловую систему и сетевые ресурсы в интерактивном режиме. Что касается памяти то можно посмотреть размер оперативной памяти Linux, количество свободной памяти, размер раздела подкачки, кэширование и виртуальную память. И все это в реальном времени. Для установки выполните:
sudo apt install nmon
Чтобы утилита отобразила память поле её запуска надо нажать клавишу M:
Команда ps может показать использование памяти для каждого процесса в реальном времени. Показывается процент используемой памяти (MEM), общее количество виртуальной памяти (VSZ) общий объем физической памяти (RSS) Вы также можете отсортировать список процессов с помощью опции —sort. Например, для сортировки по убыванию rss используйте:
ps aux —sort -rss
10. smem
Команда smem позволяет измерить количество памяти используемое различными процессами и пользователями на основе информации взятой из /proc. Она показывает количество ресурсов в процентном соотношении. Для установки выплните:
sudo apt install smem
Данные могут быть экспортированы в виде диаграмм, таких как круговые графики:
sudo smem —pie name -c «pss»
11. top
Команда top выводит список запущенных процессов в режиме реального времени, а также различные статистические данные для каждого из них. Вы можете сортировать список процессов по использованию памяти.
12. vmstat
Утилита командной строки vmstat отображает статистические данные по использованию CPU, памяти, прерываний и ввода вывода на диск. Команда показывает не только физическую память (всего, использовано, кэшировано, буферизировано), но и статистику по виртуальной памяти (количество страниц в подкачке и т д)
13. dmidecode
Утилита dmideocde позволяет просматривать информацию об аппаратном обеспечении подключенном к материнской плате компьютера, в том числе и об оперативной памяти. Это чуть ли не единственный способ узнать количество слотов для памяти, количество установленных планок, а также здесь отображается напряжение питания и частота оперативной памяти. Для просмотра информации именно про память выполните:
sudo dmidecode -t 17
14. lshw
Команда lshw тоже позволяет просматривать информацию об оборудовании компьютера, выводит практически аналогичные данные, что и dmidecode, только по русски и в более удобном формате:
sudo lshw -class memory
Выводы
Из этой статьи вы узнали множество способов как узнать оперативную память 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
Источник