Страница 1 из 1
Firebird 1.5: sort error: not enough memory
Добавлено: 24 окт 2005, 09:32
jFinder
Вот столкнулся буквально со следующим сообщением при выполнении скрипта:
(Line: 43) : [21.10.2005 23:06:33] Executing SELECT ...FAILED!
Error occurred while executing following statement (line 43):
-------- STATEMENT ----------
select * from моя_процедура
-------- ERROR ----------
Unsuccessful execution caused by an unavailable resource.
sort error: not enough memory.
Скрипт запускался с клиентской машины. На сервере FB-V6.3.0.4290 Firebird 1.5 на FreeBSD. 4 гига оперативки, 2х процессорный Xeon.
С локальной копией базы на компьютере с гораздо более скромной конфигурацией данной проблемы не возникло.
Вопроса как водится два: кто виноват и что делать?
Добавлено: 24 окт 2005, 10:13
dimitr
кончилось место в темпе? что прописано в конфиге TempDirectories?
Добавлено: 24 окт 2005, 11:24
jFinder
Под TMP серверу выделено 26Gb
Firebird 1.5: sort error: not enough memory
Добавлено: 25 дек 2007, 16:29
Gor-Software
Оперативки свободно 2,8GB из 4GB
На жестком диске свободно 13GB, временными файлами занято 1,5GB
FB 1.5.3.4870
Windows 2003
FB ругается на недостаток свободного места. Как только несколько юзеров выходят из программы, то следующим нескольким юзерам можно подключиться.
Глюк пропал после того, как я установил в настройках FB:
TempDirectories = D:\Temp 10000000000
После исследования FB, указываю следующую таблицу, где указаны разные ограничения на размер временных папок и почти максимальное реально занимаемое пространство в этих папках при установке данных ограничений (если FB требуется больше, то он начинает ругаться)
в настройках | реально занимает FB
-----------------------------------------------
100000000 | 25MB
150000000 | 78MB
200000000 | 125MB
250000000 | 172MB
300000000 | 219MB
Из таблицы видно, что FB будет использовать совсем не указанный размер для временных файлов, а намного меньший.
Установка параметра SortMemUpperLimit уменьшает общий объем верменных файлов, т.к. FB часть сортировки производит в памяти, а уж потом (если не хватает) начинает писать в файлы.
Т.к. оперативки свободной на сервере много, я установил SortMemUpperLimit = 134217728 (увеличил в 2 раза по сравнению со значением по умолчанию), в итоге объем временных файлов существенно сократился.
И самое главное, как я заметил, временные файлы раздуваются только при некоректном запросе (когда сортировка происходит без участия индексов).
Re: Firebird 1.5: sort error: not enough memory
Добавлено: 25 дек 2007, 17:37
WildSery
Gor-Software писал(а):FB 1.5.3.4870
Так просто, к сведению. Есть уже 1.5.5.
Суперсервер у тебя, конечно?
Gor-Software писал(а):Из таблицы видно, что FB будет использовать совсем не указанный размер для временных файлов, а намного меньший.
Мне вот интересно, как ты получил эти цифры?
Ведь винда не сообщает точного размера открытого файла, пока он не закроется. А такого не происходит, т.к. он сразу удаляется
Gor-Software писал(а):Т.к. оперативки свободной на сервере много, я установил SortMemUpperLimit = 134217728 (увеличил в 2 раза по сравнению со значением по умолчанию), в итоге объем временных файлов существенно сократился.
А чё так мало-то? Всего 128Мб. Если у тебя такие пузатые сортировки, то мог бы и побольше ещё раза в два или больше отдать.
Gor-Software писал(а):И самое главное, как я заметил, временные файлы раздуваются только при некоректном запросе (когда сортировка происходит без участия индексов).
Сюда читай, для начала.