powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / подтекает память ( из UDF ? )
15 сообщений из 40, страница 2 из 2
подтекает память ( из UDF ? )
    #39267273
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad, в том то дело, что не забыл. Мы это обсуждали с самого начала треда. Там исходные тексты то небольшие, я все сам в состоянии прочитать и проверить.

Вот тут в соседней теме обсуждается тоже утекание. Поэтому я сделал такие же манипуляции с gstat (fbstat ) и получил вот что
авторDatabase header page information:
Flags 0
Checksum 12345
Generation 1485429
Page size 8192
ODS version 11.2
Oldest transaction 1484452
Oldest active 1484453
Oldest snapshot 1482060
Next transaction 1484777
Bumped transaction 1
Sequence number 0
Next attachment ID 663511
Implementation ID 24
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date May 15, 2015 18:41:52
Attributes force write, no reserve

Variable header data:
Sweep interval: 20000


за полдня отставание в 3000 транзакций.
Скорее всего, под них память и задерживается, да ?
...
Рейтинг: 0 / 0
подтекает память ( из UDF ? )
    #39267276
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev]Полно! Есть, к примеру, "способ" выделить через std::malloc память, проинициализировать её адресом указатель - член класса в экземпляре класса и забыть прописать в деструкторе освобождение этой памяти через std::free.
Мы так не делаем. Там примитивные UDF для замены некоторых отсутствующих функций.
...
Рейтинг: 0 / 0
подтекает память ( из UDF ? )
    #39267340
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindза полдня отставание в 3000 транзакций.
Скорее всего, под них память и задерживается, да ?Нет. Все активные тр-ции перечислены в MON$TRANSACTIONS, я сильно сомневаюсь, что там 3000 записей.
В данном случае нужно найти тр-цию 1484453 и выяснить, почему она до сих пор активна.
С утечкой памяти это может быть связано, а может и не быть.

PS "no reserve" сознательно стоит, или как обычно ?
...
Рейтинг: 0 / 0
подтекает память ( из UDF ? )
    #39267407
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladnetwindза полдня отставание в 3000 транзакций.
Скорее всего, под них память и задерживается, да ?Нет. Все активные тр-ции перечислены в MON$TRANSACTIONS, я сильно сомневаюсь, что там 3000 записей.
В данном случае нужно найти тр-цию 1484453 и выяснить, почему она до сих пор активна.
С утечкой памяти это может быть связано, а может и не быть.

Спасибо.
Циферки не совпадают, но в MON$TRANSACTIONS я вижу транзакции стартовавшие с самого утра и примерно понятно какой процесс это сделал.

PS "no reserve" сознательно стоит, или как обычно ?
Да просто ничего не трогали. Я не сторонник дергать сразу все доступные ручки. Есть проблема с замедлением из-за заполнения памяти - я с ней и борюсь.
Это действительно почти всем стоит сразу поменять ?
...
Рейтинг: 0 / 0
подтекает память ( из UDF ? )
    #39267442
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindпримерно понятно какой процесс это сделал.

У вас там даже джоин двух таблиц работает "примерно"? Ню-ню...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
подтекает память ( из UDF ? )
    #39267450
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, джоин одного значения я в уме делаю . А вертолет с DBA так и не прилетел.
...
Рейтинг: 0 / 0
подтекает память ( из UDF ? )
    #39267461
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindджоин одного значения я в уме делаю
Так, значит, просто у тебя в уме название приложения и его PID из MON$ATTACHMENTS не в
фокусе... Может, окуляры протереть стоит?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
подтекает память ( из UDF ? )
    #39267471
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, я могу только предположения делать как именно это приложение написано и почему такое происходит. - вот что примерно.
...
Рейтинг: 0 / 0
подтекает память ( из UDF ? )
    #39268326
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindAttributes force write, no reserve
кто воткнул базе no reserve, и зачем?
...
Рейтинг: 0 / 0
подтекает память ( из UDF ? )
    #39268359
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, так базу создают через restore оно и остается включенным.
тут скорее уместен вопрос почему в 2016 году при рутинных операциях включаются никому не нужные атрибуты ? кто этот вредитель?
...
Рейтинг: 0 / 0
подтекает память ( из UDF ? )
    #39268362
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindкто этот вредитель?
Тот, кто написал скрипт на restore, очевидно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
подтекает память ( из UDF ? )
    #39268377
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindтут скорее уместен вопрос почему в 2016 году при рутинных операциях включаются никому не нужные атрибуты ? кто этот вредитель?

1. no reserve - это один из параметров БД, который включается gfix-ом, и который (как и ряд других параметров) переживают б-р.
2. у gbak, к сожалению, есть только один параметр при ресторе, который позволяет ВКЛЮЧИТЬ no_reserve, но не выключить.
3. некоторые админы, которые не читают документацию, втыкают в опции backup/restore ненужные опции.

Напомню - этот флаг у Firebird ВЫключает резервирование пространства на страницах данных под версии. Т.е. приводит к тому, что страницы (при ресторе, вставке и т.д.) заполняются полностью. Этот флаг используется для баз, которые записываются на Read-only носители, чтобы база была поменьше, и чтение было побыстрее.
Для обычных баз, которые в read/write, этот флаг, как правило, вреден, т.к. версии могут попасть только на отдельные (новые) страницы, что "размазывает" чтение пакета версий по разным страницам.

Выключить можно
- gfix -use reserve
- b/r (рестор, разумеется, без опции -use_)

p.s. у InterBase возможна установка этого флага для конкретных таблиц в БД. Ну и для всей БД, как у ФБ.
...
Рейтинг: 0 / 0
подтекает память ( из UDF ? )
    #39268391
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, все ясно.
В данной инсталляции атрибут кочует из бекапа, из которого производится первоначальное наполнение базы, а ключи никто специально не указывал.
...
Рейтинг: 0 / 0
подтекает память ( из UDF ? )
    #39268409
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwind,

ну, был бы я там у вас, снял бы gstat -r, потом b/r, и снял бы еще раз, сравнил, включая производительность разных запросов. Бывает всякое. А дальше - по обстоятельствам. Но вообще, наличие no reserve без вменяемых объяснений говорит об отсутствии этого самого. Думаю, не надо уточнять, чего.
...
Рейтинг: 0 / 0
подтекает память ( из UDF ? )
    #39268410
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv снял бы gstat -r, потом b/r, и снял бы еще раз
эээ. перед b/r, понятно, gfix -use reserve.
...
Рейтинг: 0 / 0
15 сообщений из 40, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / подтекает память ( из UDF ? )
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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