временные файлы на диске в памяти

Igor Sysoev is at rambler-co.ru
Fri Apr 10 14:00:44 MSD 2009


On Fri, Apr 10, 2009 at 12:26:04PM +0400, Andrey Zonov wrote:

> Конечно нет :) с чего бы ей упасть? "o -reserve" же сказано.
> Не один десяток серверов в продакшен так работает уже с полгода.

Не понимаю, откуда оно берёт память.
vmstat -z показывает, что память действительно выделяется из зоны
md0 (-s 100m):

ITEM                     SIZE     LIMIT      USED      FREE  REQUESTS  FAILURES
md0:                      512,        0,   204800,        8,   204800,        0

но почему оно не падает в случае с "-t malloc -o reserve -s 12G"
с сообщением "kmem_map too small" ещё при резервации, не понимаю.

И если оно действительно работает, то откуда берутся проблемы с kmem_map
у zfs и сетевых буферов.

> 10 апреля 2009 г. 12:09 пользователь Igor Sysoev <is at rambler-co.ru> написал:
> > On Fri, Apr 10, 2009 at 11:48:34AM +0400, Andrey Zonov wrote:
> >
> >> В mdconfig(8) говорится что через malloc(9).
> >>
> >> [root at test ~]# uname -r
> >> 7.1-RELEASE-p2
> >> [root at test ~]# sysctl vm.kmem_size
> >> vm.kmem_size: 419430400
> >> [root at test ~]# top | grep ^Mem
> >> Mem: 29M Active, 103M Inact, 850M Wired, 4360K Cache, 214M Buf, 15G Free
> >> [root at test ~]# mdconfig -a -t malloc -o reserve -s 12G
> >> md0
> >> [root at test ~]# top | grep ^Mem
> >> Mem: 29M Active, 103M Inact, 15G Wired, 4364K Cache, 214M Buf, 844M Free
> >> [root at specto ~/tmp]# newfs md0
> >> /dev/md0: 12288.0MB (25165824 sectors) block size 16384, fragment size 2048
> >>         using 67 cylinder groups of 183.72MB, 11758 blks, 23552 inodes.
> >
> > Выглядит впечатляюще. Судя по исходникам, должно быть по-другому. И что,
> >
> > dd if=/dev/zero of=/mnt/md0/z bs=1m count=2000
> >
> > не роняет систему ?
> >
> >> 10 апреля 2009 г. 10:20 пользователь Igor Sysoev <is at rambler-co.ru> написал:
> >> > On Fri, Apr 10, 2009 at 08:16:47AM +0400, Andrey Zonov wrote:
> >> >
> >> >> Да. Ядерная. Без ключа -o reserve можно создавать бесконечно большие
> >> >> диски, ну и при нехватке памяти можно получить панику.
> >> >> Если использовать ключ -o reserve, то размер который можно создать не
> >> >> будет превышать свободную память, а это примерно Inact+Free.
> >> >
> >> > Если ядерная память выделяется через malloc(9), то это далеко не
> >> > Inact+Free. Это vm.kmem_size, размер которого на 7.2/amd64 - 3.6G,
> >> > а до этого по умолчанию всего 400M на amd64 и 320M на i386 (увеличиваемый
> >> > в принципе до 1.8G).
> >> >
> >> >> Будет пустой ответ.
> >> >>
> >> >> Михаил Монашёв пишет:
> >> >> >Здравствуйте, Антон.
> >> >> >
> >> >> >
> >> >> >>>Помоему я уже тебе советовал, в другой рассылке, использовать -o reserve
> >> >> >>>чтобы избежать паник, но ты так и не прислушался...
> >> >> >>>
> >> >> >>>
> >> >> >
> >> >> >AY> Это не поможет, потому что памяти может не хватить из за этого другой
> >> >> >подсистеме ядра.
> >> >> >
> >> >> >А там ядерная память выделяется? Т.е. сделать диск на 15 гигов при
> >> >> >оперативке 16 гигов не получится?
> >> >> >
> >> >> >
> >> >> >>>Вот расскажи пожалуйста что будет если размер созданного диска будет
> >> >> >>>больше чем свободная память+свободный своп?...
> >> >> >>>
> >> >> >
> >> >> >AY> Можно так не делать и создавать диск разумных размеров. Если
> >> >> >AY> есть большое жалание, можно найти
> >> >> >AY> 1024 способа прострелить себе ногу.
> >> >> >
> >> >> >А  если  сделать  /sbin/mdconfig  -a -t swap -s 256m и в раздел зальют
> >> >> >файлов больше 256 метров, то что произойдёт? Кроме нехватки свободного
> >> >> >места в разделе может ещё что-то плохое случиться?
> >> >> >
> >> >> >--
> >> >> >
> >> >> >С уважением,
> >> >> >Михаил Монашёв, SoftSearch.ru
> >> >> >mailto:postmaster at softsearch.ru
> >> >> >ICQ# 166233339
> >> >> >http://michael.mindmix.ru/
> >> >> >Без бэкапа по жизни.
> >> >> >
> >> >> >
> >> >> >
> >> >
> >> > --
> >> > Игорь Сысоев
> >> > http://sysoev.ru
> >> >
> >> >
> >
> > --
> > Игорь Сысоев
> > http://sysoev.ru
> >
> >

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





More information about the nginx-ru mailing list