К основному контенту

kernel.shmmax in CentOS 6.0

Используя одну программу на CentOS 6.0 я обнаружил, что программа ведет себе некоректно и в логах ругается на память. Заглянув в файл /etc/sysctl.conf я не увидел там установки параметра kernel.shmmax, а по умолчанию оно очень мало.

Это легко исправить. Нужно добавить в файл /etc/sysctl.conf две строки :
kernel.shmall = 2097152
kernel.shmmax = 4294967296

И перечитать изменения командой : sysctl -p
Для проверки внесеных изменений выполните команду : ipcs -l

P.S.
1. параметр kernel.shmall - максимальное значение памяти, измеряется количеством страниц по 4096.
К примеру для 8Gb это будет : kernel.shmall = 8000x1024x1024/4096 или kernel.shmall = 2097152;
2. SHMMAX это максимум выделяемой в одном запросе - это является фактическим объемом памяти (в отличие от страниц). К примеру для 4 Гб это будет: kernel.shmmax = 4294967296.

Комментарии

Популярные сообщения из этого блога

FF 31.x ESR and Nagios Checker

Оказывается FireFox 31.x сделали ESR. И достаточно быстро его затискали в обновление CentOS 6 . Но этот Firefox уже с новым интерфейсом и на нем отсутcтвует статус бар внизу :( В частности я использую Nagios Checker его перенести нельзя и мне это доставляет большое неудобство. К счастью прям на странице Nagios Checker рекомендуют установить дополнение status-4-evar , и все сразу становится как было :)

bootc

 С большим опозданием, хочу сообщить вам о новой крутой технологии bootc . Получается она вышла достаточно давно, и уже с весны 2025 года стала доступна в RHEL 10. Сам я с этой технологией познакомился случайно, благодаря статье про Fedora Hummingbird из журнала Fedora Magazine . Там упоминается это замечательная технология как bootc. По сути bootc - переводится как загружаемый контейнер.  Т.е. контейнер может работать как обычный OCI/Docker контейнер, но также может работать в виртуальных машинах и даже на голом железе. Причем сам контейнер по сути есть атомарный т.е. (immutable) и после создания его нельзя изменить и как следствие надежный и безопасный. При обновлении старый объект удаляется и заменяется новым. Причем все это может делать сам контейнер, следить о появлении новой версии в регистре, скачивать слой контейнера и если что не так то откатывать изменение. Причем вся сборка этого контейнера управляется через API (API-driven), т.е. полная автоматизация, модульность...

Install Redmine 2.3.1 in CentOS 6.x

Я собрал стек Ruby on Rails версии 3.2.13 под ruby 1.8.7 из дистрибутива CentOS 6.x. Теперь можно легко и просто установить на сервер с EL6 систему управления проектами Redmine версии 2.3.1 . Установить все это можно простым скриптом ( если не нравится скрипт то можно посмотреть внутрь него и выполнить все шаги руками ) Загрузка скрипта P.S. К сожалению из за невозможности удалять пакеты в системе сборки koji пришлось сделать репозитарий на google drive. P.P.S. С помощью костылей в виде указывание EPOCH в spec, удалось таки собрать пакеты в russian KOJI, так что в качестве репозитария можно указывать теперь: baseurl=http://koji.russianfedora.ru/repos/dist-el6-build/latest/$basearch/