Персональный
сайт
Игоря
Сысоева


 
english
обо мне
 
sysoev.ru
 
nginx
 
mod_accel
mod_realip
mod_deflate
программирование
всякая всячина
windows
freebsd
apache
pppd
unix
web
 
 

Патч для создания сегментов разделяемой памяти System V больше 2G

 

15.08.2006

Несмотря на то, что FreeBSD уже достаточно давно работает на 64-битных платформах, максимальный размер сегмента разделяемой памяти System V составляет всего 2G, потому что в ядре этот размер хранится в переменной типа int. Для i386 платформы это не столь критично, так как из-за ограничений адресного пространства максимальный размер сегмента теоретически может быть только где-то в районе 2.5G. Но для amd64 с огромным адресным пространством и доступной уже сегодня физической памятью объёмом 8G этот размер маловат.

Год назад Christian S.J. Peron изменил во FreeBSD 7.0-CURRENT тип этого размера с int на long, но в 6-STABLE это изменение, скорее всего, не попадёт из-за бинарной совместимости с user-land'ом (хотя из всего user-land'а это касается лишь входящей в дистрибутив программы ipcs). Если Вас больше волнует размер сегмента, а не совместимость, то можно воспользоваться патчем. Устанавливается он так:

patch -d /usr/src < bigsharedmem.1117028863.diff
после чего нужно пересобрать ядро.

Кроме ядра, нужно ещё пересобрать ipcs:

cd /usr/src/include/
make obj
make
make install
cd /usr/src/usr.bin/ipcs/
make obj
make
make install
После этого нужно перегрузиться.

(C) Игорь Сысоев
http://sysoev.ru