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

Igor Sysoev is at rambler-co.ru
Fri Apr 10 15:17:15 MSD 2009


On Fri, Apr 10, 2009 at 02:54:07PM +0400, Andrey Zonov wrote:

> для 12гб такая картина, ну т.е. всё как надо.
> 
> ITEM                     SIZE     LIMIT      USED      FREE  REQUESTS  FAILURES
> md0:                      512,        0, 20971520,       18, 20971520,        0
> 
> Насколько я понял из исходников, mdconfig юзает uma_zalloc(9), а не malloc(9).

Насколько я понимаю, и тот, и другой берут память из kmem.

> 10 апреля 2009 г. 14:00 пользователь Igor Sysoev <is at rambler-co.ru> написал:
> > 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
> >
> >

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





More information about the nginx-ru mailing list