powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Принудительная чистка памяти
6 сообщений из 6, страница 1 из 1
Принудительная чистка памяти
    #33081519
AntElefant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Windows Server 2003 Enterprise
IBM Informix Dynamic Server Version 9.40.TC6
Пользователей много, работают плотно.
--------------------------------------------
При работе пользователя по мере работы для сессии выделяется память, и не очень правильно, на мой взгляд, очищается.
ситуация моделировалась таким образом:
1) Пользователь №1 входит и дает запрос
select * from tab (в таблице 30 строк)
По данным команды onstat -g ses общая память Informix-a 38144Kb у сессии пользователя 40960b использовано 39032b (дальше я буду эти объемы приводить в такой последовательности)
2) Пользователь №1 дает запрос
select * from tab
union select * from tab - и эта строчка повторяется 10 раз, такой вот длинный запрос.
Память при этом
62720Kb 12951552b 10277392b
3) Пользователь №1 дает запрос
select * from tab - т.е. запрос снова маленький, ну по объему возвращаемых данных
Память при этом
62720Kb 3555328b 899304b
4) Пользователь №2 входит и дает запрос
select * from tab
Память при этом
62720Kb 40960b 39032b - параметры 2 и 3 для его сессии у пользователя №1 все без изменений.
---------------------------------------------
А теперь вопросы:
Почему сессия пользователя №1 занимает памяти больше чем ей требуется.
Можно ли настроить очистку памяти как пользовательских сессий, так и общей памяти Informix(она не уменьшается когда пользователи выходят)
Можно ли организовать принудительную очистку(ну кроме перезагрузки).
...
Рейтинг: 0 / 0
Принудительная чистка памяти
    #33081568
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntElefant
А теперь вопросы:
1. Почему сессия пользователя №1 занимает памяти больше чем ей требуется.

2. Можно ли настроить очистку памяти как пользовательских сессий, так и общей памяти Informix(она не уменьшается когда пользователи выходят)

3. Можно ли организовать принудительную очистку(ну кроме перезагрузки).

1. Под что именно занята память можно узнать, выполнив onstat -g ses #, где # - идентификатор сеанса пользователя №1. Там все с точностью до байта расписано (см. также документацию и http://oninit.com). Если выполнить в сеансе пользователя №1 следующий запрос, объем используемой им памяти (по результатам onstat -g ses или onstat -g mem) может заметно уменьшиться...

А простой ответ - так получилось. Что мы можем с этим сделать? Разве что, принудительно прекратить работу сеанса пользователя :)

2. Так и было задумано. Общая память Informix (виртуальная часть) сама по себе только увеличивается, но не освобождается (не отдается ОС). Это разумно, потому что вместо отключившегося пользователя тут же подключится другой, и ему снова нужна будет память - а вот она уже и есть...

3. Можно. Это делается командой onmode -F (память будет освобождаться только целыми сегментами, см. onstat -g seg, и только если Informix сочтет это возможным).
...
Рейтинг: 0 / 0
Принудительная чистка памяти
    #33082903
AntElefant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На одной из машин (простая рабочая станция где informix стоит для тренировки) команда onmode -F высвобождает память а на другой (настройки разные конечно) нет. А интересует то в принципе именно вторая. Пробовал даже когда все пользаватели вышли, был только информикс - и ничего. Где в настройках это отключено?
...
Рейтинг: 0 / 0
Принудительная чистка памяти
    #33082908
AntElefant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На одной из машин (простая рабочая станция где informix стоит для тренировки) команда onmode -F высвобождает память а на другой (настройки разные конечно) нет. А интересует то в принципе именно вторая. Пробовал даже когда все пользаватели вышли, был только информикс - и ничего. Где в настройках это отключено?
...
Рейтинг: 0 / 0
Принудительная чистка памяти
    #33082923
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntElefantНа одной из машин (простая рабочая станция где informix стоит для тренировки) команда onmode -F высвобождает память а на другой (настройки разные конечно) нет. А интересует то в принципе именно вторая. Пробовал даже когда все пользаватели вышли, был только информикс - и ничего. Где в настройках это отключено?

Если у вас нет пользовательских сессий в системе
память должна освобождаться.
...
Рейтинг: 0 / 0
Принудительная чистка памяти
    #33083011
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже на трудночинимый баг. Ситуация может быть как с tablespace tablespace , когда в какой-то момент создается много таблиц, tablespace захватывает след. экстенд в другом dbspace - после чего даже при удаленных таблицах этот dbspace невозможно дропнуть, поскольку он технически не пустой. Возможно, какие-то структуры в памяти сохраняются в новых сегментах и не чистятся даже после выхода всех пользователей.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Принудительная чистка памяти
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]