TQUERY: огромная утечка памяти

Обсуждение программ nnCron и nnCron LITE

TQUERY: огромная утечка памяти

Postby hjsfuwqmtx » Wed, 24 Apr 2019, 11:33

Всем привет.

Обнаружил огромную утечку памяти при работе TQUERY: .
Вот невинная задача, которая на каждой итерации цикла съедает более 2 MiB виртуальной памяти (в Process ExplorerVirtual Size). В итоге очень быстро (1-2 ч.) nnCron съест разрешённую одному процессу память (4 GiB на 32-битных системах) и аварийно завершится.

Code: Select all
#( test_3
NoLog    SingleInstance
Action:
   BEGIN
      100 PAUSE
   TQUERY: "Остановить?" 1 No   UNTIL          \ пока не ответят "Yes"
   \ TQUERY: съедает > 2 MiB и не отдаёт назад
)#


Хотел предпредить других пользователей и узнать, у всех ли так.
User avatar
hjsfuwqmtx
 
Posts: 16
Joined: Sat, 15 Sep 2018, 22:00

Re: TQUERY: огромная утечка памяти

Postby elos » Wed, 24 Apr 2019, 17:29

За одно "моргание" бы уже ... код переписал.
Смысла этого "бесконечного" цикла не видно.

Лучше тогда испытай на утечки код из help
Code: Select all
    BEGIN
        \ повтоpяем сообщение
        TMSG: "Warning! xxx.txt not exist!" 3
        \ пока не появится файл
        FILE-EXIST: "c:\xxx.txt"
    UNTIL
На вид похоже...
"Везение" - это результат тщательной подготовки, "невезение" - следствие разболтанности и лени. - Роберт Хайнлайн
Хорошо сформулированный вопрос отпадает сам собой.
elos
 
Posts: 692
Joined: Tue, 25 Apr 2006, 11:15

Re: TQUERY: огромная утечка памяти

Postby hjsfuwqmtx » Wed, 24 Apr 2019, 23:00

elos wrote:Смысла этого "бесконечного" цикла не видно.

Смысл этого бесконечного цикла есть. Я привёл тестовый (читай обрезанный) пример, где убрано всё неотносящееся к теме, чтобы сконцентрировать внимание только на сути. Замечена утечка была на реальной, полезной задаче (но она не суть темы). И такая большая (да и любая по размеру) утечка памяти опасна даже вне бесконечного цикла. Не намного легче ситуация будет и без цикла, а при многократном запуске задач. Сожрётся память не за 1-2 ч., а за неделю (если компьютер не выключать). Всё равно это большая проблема.
User avatar
hjsfuwqmtx
 
Posts: 16
Joined: Sat, 15 Sep 2018, 22:00

Re: TQUERY: огромная утечка памяти

Postby dothen » Thu, 25 Apr 2019, 21:03

В Windows 7 x64 всё нормально.
dothen
 
Posts: 208
Joined: Mon, 16 Mar 2015, 04:58

Re: TQUERY: огромная утечка памяти

Postby mihast » Sat, 18 May 2019, 16:27

Подтверждаю. Есть утечка. Винда просто скидывает "неиспользуемую" память в swap-файл. Поэтому надо смотреть пару: Используемая память процесса + Используемая память файла подкачки.
mihast
 
Posts: 53
Joined: Tue, 23 Aug 2005, 21:14


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 1 guest