On Fri, Nov 23, 2007 at 02:58:07PM +0200, Pentarh Udi wrote:
> Здравствуйте, nginx-ru.
>
> Я знаю что это оффтопик, но вопрос по high-load, я верю что мне здесь
> помогут, ибо гугленье и все остальное не помогло.
>
> Стоит бекенд с офигенной нагрузкой. 2 SATA винта. Я их объединил в
> geom_stripe и дал нагрузку, пошли сообщения кернела:
>
> ad4: FAILURE - out of memory in start
> ad6: FAILURE - out of memory in start
>
> Очень много. И файлы начали хериться на фс. Отключил нагрузку,
> сообщения исчезли.
>
> Спустя некоторое время, сообщения начали появляться в меньшем
> количестве на другой машине с geom_mirror (Тоже 2 сата)
>
> О машинах: FreeBSD 6.2 RELEASE amd64, 2G RAM, 2x160 SATA, Core2Duo
> О процессах: _совсем_ немного чайлдов апачей (около 50) и nginx
> (откуда там памяти нехватает?)
> О нагрузке: нагрука винта 100 % на чтение
>
> Покопался и нашел это сообщение в исходниках:
>
> /sys/dev/ata/ata-disk.c: line 215
>
> static void
> ad_strategy(struct bio *bp)
> {
> device_t dev = bp->bio_disk->d_drv1;
> struct ata_device *atadev = device_get_softc(dev);
> struct ata_request *request;
>
> if (!(request = ata_alloc_request())) {
> device_printf(dev, "FAILURE - out of memory in start\n");
> biofinish(bp, NULL, ENOMEM);
> return;
> }
> ...............
>
> Помогите! Что делать?
vmstat -z | egrep 'LIMIT|ata'
--
Игорь Сысоев
http://sysoev.ru