|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
Добрый день в Форум! Сегодня на PB9.0 bild 5507 откомпилил тестовое приложение(два update одного поля в секунду commit тут же, база - Oracle 8.1.5) и даже рекомендации: >Sergey Rijkov >Рекомендуют:The fix is to put something in the DBParm property of the SQLCA >object. Something like "Application='MyApp'" or whatever. In the development >environment, edit the connection properties and make sure something is in the >Application Name or Workstation Name on the Network tab не помогли. За неполных 4 часа работы постепенно съедено 70 М, причём со странной картиной поедания памяти: -после запуска ~14 M -через минуты три ~ 4 M - через минут пять ~ 20 M - через минут десят ~ 12 M .... - через 4 часа ~ 105 M - через 4 часа и немного ~ 70 M ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2003, 13:11 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
Шаманство какое - то :) Тестовый код в студию. ------------- Сергей Рыжков ЗАО "НПО Балтрос" http://pbl.narod.ru (PowerBuilder + Oracle) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2003, 13:41 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
Согласен с Сергеем - чудес не бывает, нужно смотреть... ЗЫ: а какое шаманство сдуло все предыдущие сообщения в этой ветке? До второй страницы вроде бы еще не добрались, да и ссылок перехода нету... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2003, 14:47 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
Даю код (по событию таймера, каждую секунду): ii_tik_t++ If ii_tik_t > 100 Then ii_tik_t = 0 UPDATE rut.rut_control SET control_value = :ii_tik_t WHERE rut.rut_control.control_name = 'MONITORTABLE' Using itr_Proc; If itr_Proc.SqlCode <> 0 Then RollBack Using itr_Proc; Else Commit Using itr_Proc; End If End If ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2003, 15:09 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
совсем забыл: на ОС предел памяти 860 М (как позаывает XP), кроме того после запуска приложения через ~5,5 часов уже съедено 115 M ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2003, 15:34 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
Дааа.. странно, прогнал твой тестовый пример, PB 6.5.1 + Oracle 9.2 - никаких пожираний, втечение 3 часов !!! Одно но..., я тестировал UPDATE ... без USING itr_transObject ------------- Сергей Рыжков ЗАО "НПО Балтрос" http://pbl.narod.ru (PowerBuilder + Oracle) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2003, 16:54 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
>Sergey Rijkov Дааа.. странно, прогнал твой тестовый пример, PB 6.5.1 + Oracle 9.2 - никаких пожираний, втечение 3 часов !!! Одно но..., я тестировал UPDATE ... без USING itr_transObject itr_Proc - instanse типа transaction. Можно взглянуть на .DBParm ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2003, 06:44 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
RE>itr_Proc - instanse типа transaction. Ну это понятно RE>Можно взглянуть на .DBParm ? Нет его :), вот для чистоты эксп-а SQLCA.DBMS = 'O73 ORACLE 7.3' SQLCA.LogID = Trim(name.Text) SQLCA.LogPass = Trim(password.Text) SQLCA.ServerName = Trim(server.Text) connect using SQLCA; DO WHILE true UPDATE GEO.TEST_TABLE SET TEST_TABLE_FIELD = 1 WHERE TEST_TABLE_UNID = 1; COMMIT; LOOP И все в норме. Твой код ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2003, 09:53 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
SQLCA.DBParm = "CommitOnDisconnect='No',Date=' ''''dd.mm.yyyy'''' ',DateTime=' ''''dd.mm.yyyy hh:mm:ss'''' ',Time=' ''''hh:mm:ss'''' ',NumbersInternal=1,StaticBind=0,ObjectMode='No',FormatArgsAsExp='Yes'" Интересно, имеет значение где конектится переменная в скрипте апликации или в скрипте окна? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2003, 10:58 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
Совсем забыл SQLCA.DBMS = "O84 Oracle8/8i (8.x.4+)" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2003, 10:59 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
Совсем забыл SQLCA.DBMS = "O84 Oracle8/8i (8.x.4+)" Сразу бы так и говорил :), на самомо деле мы столько гиммора, извиняюсь, получили с этим O84 !!! Хотя вроде, как я помню для Oracle 8.1.5 другого варианта нет :(, но скорее всего ошибаюсь. Не к теме, а зачем тебе StaticBind=0 ? (просто интересно) ------------- Сергей Рыжков ЗАО "НПО Балтрос" http://pbl.narod.ru (PowerBuilder + Oracle) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2003, 11:24 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
Так это я так из-за Oracle 8.1.5. Может нужна другая длл, у меня pbo8490.dll версия 9.0.0.5507, размер 302592? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2003, 11:40 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
Честно говоря больше ничем не могу помочь :(. Но на 99% уверен - дело в dll У нас были проблемы с Pbo8460.dll [6.5.0.1173] [209 408] Используем pbo7360.dll [6.5.1.620] [182 272], даже для Oracle 9.2 проблем не замечено ! И вообще где-то читал, что не рекомендуется использовать Pbo84XX ------------- Сергей Рыжков ЗАО "НПО Балтрос" http://pbl.narod.ru (PowerBuilder + Oracle) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2003, 12:06 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
У меня почему-то база не цепляется через pbo7390 (правда я пытаюсь на PB 9.0 bild 5507 - pbo7390.dll [9.0.0.5507] [246 272]). Говорит, что нету: unable to connect to destination, хотя в Net8 конектится (WinXP Prof sp 1). А PB 6.5.1 с pbo7360.dll [6.5.1.620] [182 272] зовёт доктора Ватсона (WinNT 4.0 sp 6a) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2003, 12:37 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
Ну дык я ж говорил, что для Oracle 8.1.5 нужна именна эта длл, которая глючная. Так что ради билдера смени сервак или же не парься и напиши хранимую ------------- Сергей Рыжков ЗАО "НПО Балтрос" http://pbl.narod.ru (PowerBuilder + Oracle) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2003, 13:07 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
Вот так! Прийдётся писать контроллер памяти. Может кто знает как сдёрнуть занимаемую, свободную и тд память через API? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2003, 13:22 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
Совершенно случайно, ради эксперимента и по совету Sergey Rijkov убрал SQLCA.DBParm, всмысле = "". И что-же: под WinNT 4.0 уже час стоит и память не жрёт! А вот под WinXP картина немного другая: Память постепенно сжирается примерно до 1/8 максимально возможной и падает до первоначального уровня. Спасибо огромное за внимание! Тему, думаю, можно считать закрытой. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2003, 15:37 |
|
Память и PowerBuilder
|
|||
---|---|---|---|
#18+
Обращаю внимание почтенной публики, про то что начиная с версии 8.0.3 в PB используется другой менеджер памяти. Читаем в readme.txt для PB 8.0.3 Build 9704 "Section III: Memory Usage Improvements ====================================== Heap manager changed -------------------- In order to improve memory management, the SybHeap manager replaces SmartHeap 6.0.2 as the memory manager in this release. When blocks of memory are freed, the SybHeap manager does not return them to the operating system. Instead it maintains them in a free list for reuse . The SybHeap manager generally uses less memory by more effectively managing its free lists and reducing fragmentation." Далее уже для PB 8.0.3 build 9850 Libjsybheap.dll - New file required for development and deployment ------------------------------------------------------------------ This PB 8.0.3 EBF build, includes a new DLL called libjsybheap.dll. This DLL must be installed into the Sybase\Shared\PowerBuilder folder along with the other PB DLLs (i.e., Pbdwe80.dll, etc.) or else the PB development environment will not start up. This file provides the SybHeap memory manager, which replaces the SmartHeap 6.0.2 memory manager. Теперь давайте посмотрим, что написано про менеджер памяти в файле PB901mr_fixes.htm Change Request#: 289939 Priority: 0 Product Name: PB Enterprise - 8.0.2 OS: Microsoft Windows NT Product Component: DW - Runtime Fixed in Version #: 9.0.1 Description: PowerBuilder 8 Build 9603 uses a new memory manager (versus SmartHeap), and with that build VERY LARGE allocations of memory for datastores are being reported and memory requirements SEEM to be 2x that of the SmartHeap builds. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2003, 16:04 |
|
|
start [/forum/topic.php?fid=15&msg=32269492&tid=1339494]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
93ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 246ms |
total: | 440ms |
0 / 0 |