Тест памяти для линукс

Информация об оперативной памяти в 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 в разделе Система/Мониторинг.

Источник

Тестируем память с помощью Memtest86+ и VirtualBox

По роду деятельности приходится иметь дело с железом, с большим количеством компьютеров разной конфигурации, и, в частности, заниматься их тестированием. Естественно, хочется чтобы этот процесс был автоматизирован на сколько возможно. Для этих целей я использую бездисковую загрузку линукс через PXE, на котором подготовлены к автозапуску соответствующие скрипты с разными тестами, демоны следят за состоянием системы, а мониторинг на сервере показывает результаты и ругается, если что-то не так. В общем-то, всем можно быть довольным, но процесс проверки оперативной памяти никогда мне не нравился. Нативный для линукса memtester, субъктивно, работает слишком долго, прежде чем что-то найдет, да и находит далеко не всегда. Собрать ядро или поиграться с архивами — неплохой способ проверить систему на стабильность, но в глюках не всегда бывает виновата память. А самым действенным способом, в конечном счете, является старый добрый Memtest86. Но с ним необходимо следить за каждым компьютером по отдельности, теряется весь процесс автоматизации, а когда компьютеров слишком много, то начинает поджимать и время. К сожалению, обделен всякими хитрыми kvm’ами.

Читайте также:  Systems tray in windows

Размышляя над этим, я обратил свой взгляд на виртуализацию. Почему бы не попробовать? Хотя бы just for lulz. Память ведь используется таже самая.

Для этих целей в VirtualBox создаем виртуальную машину самой простой конфигурации: без сети, без жестких дисков, только CD-ROM куда подключается образ с MemTest. Создаем с помощью GUI или в консоли:

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

Перед самым запуском вычищаем кеш линукса из памяти:

Решаем сколько свободной памяти отдадим под проверку, а сколько оставим под нужды операционной системы:

Если памяти оставить слишком мало, линукс начинает вести себя нестабильно, тем более бездисковая система, где нет свопа.

Пятая версия мемтеста поддерживает многоядерность, воспользуемся этим и отдадим под тест сколько не жалко:

Вносим соответствующие изменения в машину:

И запускаем в фоне в консольном режиме:

Выключить виртуальную машину можно командой:

За состоянием теста следим с помощью отладчика VirtualBox:

Пример вывода в терминал:

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

Например, у меня при наличии ошибки в лог пишется «снимок» экрана, а на сервер отправляется соответствующее предупреждение:

Я запустил это дело тестироваться на нескольких компьютерах с не самой качественной памятью, и результат не заставил себя долго ждать:

Для подтверждения, перезапускаю Memtest в нормальном режиме:

Способ на удивление работает. Поэтому использую его для себя наравне с другими. Таким образом получилось выявить уже много планок памяти с ошибками.

Плюсы:

  • Это старый добрый Memtest с радующим глаз интерфейсом.
  • Возможность полной автоматизации его работы.
  • Имеем соответсвующую эффективность.

Есть конечно и минусы:

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

Надеюсь, кто-то найдет статью полезной. Ну, или по крайней мере улыбнется.

Источник

Ubuntu — оперативная память: проверка, тип, объем

Оперативная память (ОЗУ — оперативное запоминающее устройство или RAM — Random Access Memory ) — это та память, в которой хранятся исполняемые процессором программы — машинный код, файлы и любые данные для оперативной работы с ними, она энергозависима, то есть очищается при перезапуске или выключении ПК. При сохранении файла, после оперативной работы с ним, происходит его запись в ПЗУ — постоянное запоминающее устройство — жесткий диск или любой другой энергонезависимый накопитель.

Читайте также:  Уменьшить значки астра линукс

От объема «оперативки» зависит количество программ или же, например, вкладок браузера, которые могут быть запущены одновременно в системе. Что интересно: при переходе компьютера в режим сна операционная система записывает весь массив данных, содержащихся в ОЗУ, в полном объеме (дамп) на жесткий диск, а после пробуждения эти данные возвращаются в «оперативку». Именно поэтому после выхода из режима сна мы получаем рабочее окружение с уже запущенными программами, которые были активны перед переходом в режим гибернации (сна).

Исходя из вышенаписанного следует вывод, что ОЗУ — важная часть компьютера, к информации о которой необходимо иметь доступ любому пользователю системы Ubuntu. Поэтому сегодня мы рассмотрим такие вопросы, как:

  • Сколько доступно свободной оперативной памяти и каков ее полный объем
  • Какой тип у установленной оперативной памяти
  • Есть ли ошибки в оперативной памяти

Команды в статье приведены для исполнения их в терминале Ubuntu — Как открыть терминал

Объем оперативной памяти

Для того, чтобы получить информацию об общем объеме и количестве занятой/доступной памяти мы воспользуемся командой free с флагом -h поскольку при обычном выводе данной команды вывод объема производится в килобайтах, что не совсем удобочитаемо для пользователя. Флаг -h позволит отображать количественные единицы объема в мегабайтах и гигабайтах.

Исполним в терминале команду:

Вывод команды free -h в терминале Ubuntu

Как мы можем видеть — вывод команды дополнен, помимо данных об объемах ОЗУ, еще и информацией о файле подкачки. При необходимости данную команду можно использовать и для мониторинга за количеством оперативной памяти в реальном времени. Для этого нужно добавить к флагу -h еще один: -s [секунды]. Как аргумент к данному флагу указывается время в секундах, через которое следует обновлять информацию о состоянии памяти:

Вывод будет следующим:

Мониторинг ОЗУ через терминал

Обновленные данные в нашем примере будут выводиться каждые три секунды. Для того, чтобы закончить вывод данных в терминал следует нажать сочетание клавиш CTRL+C.

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

  • Mem – физическая память
  • Swap – виртуальная память
  • total – общий объем ОЗУ
  • used – кол-во занятой памяти
  • free – свободная память
  • shared – разделяемая память*
  • buff/cache – зарезервированное системой место

*Разделяемая память (англ. Shared memory) является самым быстрым средством обмена данными между процессами. После создания разделяемого сегмента памяти любой из пользовательских процессов может подсоединить его к своему собственному виртуальному пространству и работать с ним, как с обычным сегментом памяти. (цитата из Wikipedia)

Тип и частота оперативной памяти

Необходимость узнать тип установленной оперативной памяти может возникнуть при покупке дополнительных модулей. Ведь различные типы модулей несовместимы между собой физически. То есть, модуль памяти DDR2 невозможно установить в разъем, например, для DDR3.

Частота ОЗУ означает — сколько циклов чтения/записи память способна выполнить за одну секунду. Обычно максимальная частота, на которой способна работать оперативная память, определяется процессором или чипсетом материнской платы.

Читайте также:  Не запущена служба windows server перед установкой backup exec

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

Вывод команды sudo dmidecode —type memory

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

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

Handle 0x0043, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0041
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: ChannelA-DIMM1
Bank Locator: BANK 1
Type: DDR4
Type Detail: Synchronous
Speed: 2133 MT/s
Manufacturer: Kingston
Serial Number: 16334813
Asset Tag: 9876543210
Part Number: KHX2133C13D4/8GX
Rank: 2
Configured Clock Speed: 2133 MT/s
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: 1.2 V

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

Значение «Type» в данном выводе указывает на тип оперативной памяти (у меня в примере — DDR4), а «Speed» — на частоту (в моем примере 2133 мегатранзакции в секунду).

Для сокращения результатов вывода можно пропустить из через утилиту grep. Так, для поиска информации о типе ОЗУ можно выполнить команду:

Компактный вывод dmidecode

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

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

Если lshw отсутствует в системе, то его можно установить командой:

Проверка оперативной памяти на наличие ошибок

Иногда можно столкнуться с поломкой полупроводников оперативной памяти. Обычно это выражается в нестабильной работе программ, зависаниях и т.п. Такие поломки способны повлиять на производительность оперативной памяти. Такую поломку устранить не получится, можно только заменить модуль на новый. Поэтому при зависаниях ПК или отдельных программ необходимо убедиться в целостности ОЗУ, чтобы не потратить деньги впустую, приобретя новые модули памяти взамен рабочим.

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

Для примера запустим проверку блока ОЗУ, размером в 100 мегабайт состоящую из двух циклов:

Результат работы memtester

Данная проверка проводится для блока ОЗУ размером в 100МБ (указанных нами) два раза. Как видим у меня все в порядке. При использовании данной утилиты важно помнить, что нельзя указывать размер блока проверки больше, чем доступно свободной оперативной памяти на момент начала проверки.

Для более тщательного тестирования памяти можно воспользоваться утилитой memtest86+ из меню загрузчика Grub. Для того, чтобы попасть в меню Grub при запуске ПК следует держать нажатой клавишу Shift или, в некоторых случаях, ESC. Если загрузилось не меню, а консоль, то нужно выполнить команду normal.

Меню загрузчика Grub

После выбора пункта меню «Memory Test (memtest86+)» начнется проверка памяти:

Проверка памяти memtest86+

По окончанию первого цикла проверки снизу экрана будет отображена информация с результатами проверки:

Источник

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