Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: временные файлы на диске в памяти
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@xxxxxxxxxxxxx> написал:
> > On Fri, Apr 10, 2009 at 11:48:34AM +0400, Andrey Zonov wrote:
> >
> >> В mdconfig(8) говорится что через malloc(9).
> >>
> >> [root@test ~]# uname -r
> >> 7.1-RELEASE-p2
> >> [root@test ~]# sysctl vm.kmem_size
> >> vm.kmem_size: 419430400
> >> [root@test ~]# top | grep ^Mem
> >> Mem: 29M Active, 103M Inact, 850M Wired, 4360K Cache, 214M Buf, 15G Free
> >> [root@test ~]# mdconfig -a -t malloc -o reserve -s 12G
> >> md0
> >> [root@test ~]# top | grep ^Mem
> >> Mem: 29M Active, 103M Inact, 15G Wired, 4364K Cache, 214M Buf, 844M Free
> >> [root@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@xxxxxxxxxxxxx>
> >> написал:
> >> > 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@xxxxxxxxxxxxx
> >> >> >ICQ# 166233339
> >> >> >http://michael.mindmix.ru/
> >> >> >Без бэкапа по жизни.
> >> >> >
> >> >> >
> >> >> >
> >> >
> >> > --
> >> > Игорь Сысоев
> >> > http://sysoev.ru
> >> >
> >> >
> >
> > --
> > Игорь Сысоев
> > http://sysoev.ru
> >
> >
--
Игорь Сысоев
http://sysoev.ru
|