Оперативная память

Немногие вещи могут так сказаться на производительности системы, как недостаток оперативной памяти. Команды наподобие free и top позволяют просматривать основную информацию об оперативной памяти и файле подкачки. Команда vmstat предоставляет подробную информацию об использовании оперативной памяти и может работать постоянно. Команда slabtop может фиксировать объем использования ядром (слэб-кэш) оперативной памяти.
Команда free предоставляет наиболее быстрый способ просмотра динамики выделения оперативной памяти в системе. Она отображает общий объем оперативной памяти (Mem:), объем области подкачки (Swap:), а также объем памяти, используемой в настоящее время. Вот несколько примеров использования команды free:
Чтобы избежать недостатка оперативной памяти и ускорения работы приложений, в Linux используется столько незадействованной оперативной памяти, сколько позволяет кэш жесткого диска. Поэтому первую строку отображаемой командой free информации, часто фиксирующую немного свободной оперативной памяти, можно опустить. Мы рекомендуем вам обратить внимание на вторую строку, отображающую общий объем оперативной памяти, доступной для приложений в настоящий момент. В данном примере этот объем равен 501 Мбайт:
-/+ buffers/cache: 223 501
Одним из способов определить необходимый вашей системе объем оперативной памяти является запуск всех приложений, которые вы планируете запускать одновременно, на другом компьютере с установленной системой Ubuntu. Затем выполните команду free с общим параметром (free – t), чтобы отобразить общий объем используемой памяти, и убедитесь, что на вашей системе общий объем памяти превышает полученное число (желательно, чтобы большая часть этой памяти приходилась на физическую оперативную память).
Команда top предоставляет средства для просмотра запущенных в настоящий момент процессов и сортирует их по уровню потребления времени центрального процессора или оперативной памяти (для получения более подробной информации обратитесь к гл. 9, в которой описывается использование команды top для отображения запущенных процессов). Вы также можете использовать команду top для просмотра объема потребляемой оперативной памяти в графическом режиме:
$ top
Top – 14:14:59 up 3 days. 18:26. 1 user, load average: 0.11. 0.04. 0.01 Tasks: 114 total, 3 running. Ill sleeping. 0 stopped. 0 zombie Cpu(s): 0.0us. O. OSsy, 0.02ni. lOO. OXid. 0.0wa. 0.02hi, 0.02si, 0.0st Mem: 742476k total. 727232k used. 15244k free. 153708k buffers Swap: 1020116k total. 72k used. 1020044k free. 343924k cached PID USER PR NI VIRT RES SHR S %CPU ЖМЕМ TIME+ COMMAND 2347 root 34 19 89552 77m 5636 S 0.0 10.7 6:05.75 yum-updatesd 2797 chris 18 0 80612 27m 18m S 0.0 3.8 0:01.29 nautilus 2814 chris 15 0 44420 22m 20m S 0.0 3.1 0:00.17 nm-applet
Для выхода из программы top нажмите клавишу q. Как и в выходе команды free, команда top отображает общий объем используемой оперативной памяти (Mem:) и общий объем области подкачки (Swap:). Однако, поскольку top является приложением, ориентированным на экран, и предоставляет возможность непрерывного контроля, вы можете постоянно получать информацию об объеме используемой оперативной памяти, причем каждые три секунды (значение по умолчанию) на экран будет выводиться обновленная информация. Запустив команду top, нажмите сочетание клавиш Shift+M — выполняющиеся процессы будут отсортированы по уровню потребления оперативной памяти. Наиболее важным столбцом для определения объема оперативной памяти, потребляемой процессом, является RES, который отображает объем физической памяти, потребляемой процессом и называемой резидентным размером, отображаемым в столбце UMEM.
Для вывода более подробной статистики, касающейся использования виртуальной памяти, используйте команду vmstat. С помощью команды vmstat вы можете отображать объем используемой оперативной памяти, например, со времени последней перезагрузки или за указанный период времени. В следующем примере показано использование команды vmstat, отображающей новую статистику каждые три секунды:
Для выхода из команды vmstat нажмите сочетание клавиш Ctrl+C. В данном примере vmstat был указан период в 30 секунд, за который было запущено более 100 приложений. Отметим, что, когда объем свободной оперативной памяти находится в пределах от 32 488 Кбайт до 7428 Кбайт (то есть оперативная память перегружена), данные начинают перемещаться в область подкачки (значение 216 в столбце so). Поскольку область подкачки размещена на жестком диске, вы можете видеть, как по мере увеличения области подкачки увеличивается блок, записывающийся на диск (bo). Вы также можете видеть увеличение области подкачки в столбце swpd.
Потребление времени центрального процессора в данном примере также возрастает, но без отображаемого времени ожидания (id 0). Отметим, что, когда в область подкачки необходимо поместить некоторые приложения (последние три строки выхода), процессору для завершения процесса (wa 1) во время ввода/вывода приходится ожидать выполнения двух других процессов.
Вот еще несколько параметров, которые можно использовать с командой vmstat:
В предыдущем примере показаны различные варианты отображения статистики использования оперативной памяти (-s) в мегабайтах (-S М), которые, на наш взгляд, наиболее удобны. В остальных примерах продемонстрированы способы отображения информации с помощью команды vmstat в мегабайтах и килобайтах (в упрощенном и техническом исчислении). Параметр – п 2 10 позволяет команде vmstat обновлять результаты через установленный промежуток времени (2) на протяжении заданного количества раз (10).
Используя такие команды, как ps и top, вы можете определять объем используемой вашей системой оперативной памяти. Однако ядро обладает своим собственным кэшем, используемым для контроля ресурсов и называемым слэбом. Для отображения статистики кэш-памяти ядра воспользуйтесь командой vmstat (из /ргос/ slabinfo):
В информации о кэш-памяти указывается имя каждого объекта, хранящегося в ней, количество активных объектов для данного типа кэша, общее количество объектов, доступных для данного типа кэша, размер кэша (в байтах) и количество страниц каждой области кэша. Используя команду si abtop, вы можете отобразить информацию о кэш-памяти ядра в графическом режиме (как и в случае с командой top):
Выводимая командой si abtop информация обновляется каждые три секунды. По умолчанию содержимое слэб-кэша сортируется по количеству объектов
(первый столбец), хранящихся в каждом разделе кэша. Нажав клавишу С, вы можете отсортировать информацию по размеру кэша (как показано в предыдущем примере).
Поделиться новостью...
Смотрите также:
- Как открыть окно терминала?
- Получение прав суперпользователя ubuntu
- Команда chage пароль
- Загрузить файл на сервер curl Linux
- Sudo useradd


