Архив метки: memory

Redis: fork – Cannot allocate memory, Linux, виртуальная память и vm.overcommit_memory

27 августа 2019
 

 Cейчас настраиваю Redis как кеширующий сервис приложения, и среди прочего встал вопрос – надо ли включать vm.overcommit_memory в 1, или нет? Вопрос достаточно старый, см. История, но вот докопаться до сути, упорядочить и привести в читабельный вид удалось только сейчас. Проблема заключается в том, что официальная документация и практически все гайды/HowTo-шки по Redis достаточно легкомысленно… Читать далее »

Linux: C – адресное пространство процесса

17 сентября 2017
 

 Адресное пространство процесса на примере программы на C. Используемые утилиты и файлы: size /proc/$PID/maps objdump pmap Все примеры выполняются на ОС: [simterm] $ cat /etc/os-release | grep NAME NAME=”Arch Linux” PRETTY_NAME=”Arch Linux” [/simterm] С ядром: [simterm] $ uname -mrs Linux 4.12.8-2-ARCH x86_64 [/simterm] С использованием gcc: [simterm] $ gcc –version gcc (GCC) 7.2.0 [/simterm]

Linux: описание и полезные опции process status

23 марта 2015
 

 Process status (ps) в любой UNIX-like системе – одна из наиболее используемых команд. Она используется для отображения всех запущенных в системе процессов, и информации о них – используемая память, процессорное время, PID/PPID, пользователь и другое. Будучи запущенной без опций – она выведет минимальное количество информации: # ps PID TTY TIME CMD 2166 pts/3 00:00:00 ps… Читать далее »

Linux: типы памяти

6 ноября 2014
 

 Виртуальная память (Virtual Memory) В современных операционных системах каждый процесс выполняется в собственном выделенном ему участке памяти. Вместо отображения (mapping) адресов памяти непосредственно на физические адреса, операционная система работает как некий абстрактный слой, создавая виртуальное адресное пространство для каждого процесса. Процесс отображение адресов между физической памятью и виртуальной памятью выполняется процессором с использованием “таблицы трансляции”… Читать далее »

Linux: описание утилиты vmstat

7 октября 2014
 

 vmstat – одна из утилит, которые должны быть использованы в первую очередь (после top, конечно), при проблемах с сервером (высокий Load Average и т.д.). Он позволяет вывести информацию об использовании памяти, дисков, процессора. Простой запуск без ключей будет выглядеть так: # vmstat procs ———–memory———- —swap– —–io—- –system– —–cpu—– r b swpd free buff cache si… Читать далее »

Linux: утилита ps_mem

28 сентября 2014
 

 Удобная утилита, написанная на Python,  для проверки занятой памяти процессами. Суммирует используемую память всех экземпляров каждого процесса программы и выводит общее значение. Установка в CentOS: # yum -y install ps_mem Или через: # pip install ps_mem

BASH: скрипт статистики использования ресурсов процессом

26 сентября 2014
 

 Задача – снимать потребление памяти и нагрузку процессора, которые генерируется сервером MySQL (MariaDB). Скрипт тестировался на: # cat /etc/redhat-release CentOS release 6.5 (Final) И bash: # bash –version GNU bash, version 4.1.2(1)-release (i386-redhat-linux-gnu)

UNIX: top и ps – VIRT, RES, SHR и SWAP память

12 мая 2014
 

 VIRT (Virtual memory) – отображает общий объём памяти, который может использоваться процессом в данный момент. Включает в себя реально используемую память, другую память (например – память видеокарты), файлы на диске, загруженные в память (например – файлы библиотек), и память, совместно используемую с другими процессами (SHR или Shared memory). Она же отображается как VSZ в результатах… Читать далее »

Linux: утилита free и очистка кеша памяти

2 ноября 2013
 

 Утилита free – один из основных инструментов администратора, позволяющая отобразить статистику используемой и свободной памяти сервера. Информацию free получает из файла /proc/meminfo – динамически изменяющего в процессе работы системы. О разделе proc и файловой системе procfs более подробно можно почитать в статье Linux: описание и назначение файловой системы proc и каталога /proc. Рассмотрим информацию, которую… Читать далее »