D5/Win9x/System Resource

10 отговора 156 прегледа
#1

D5/Win9x/System Resource

Здравейте!
Напоследък често ми се появява съобщение
"Ninety percent or more your system resource is used..."
(обикновенно - когато съм в средата на Delphi)
Програмата, по която работя не е много голяма (~20000реда).
Според MemProof 0.9.4.8. нормално освобождава ресурсите си.
Голям е броят на заетите критични секции (~150) по време на изпълнение, но се освобождават напълно накрая (Аз не ползвам критични секции, но явно - Delphi-то и Windows си ги заемат за нуждите на юнитите на програмата ми).

Resouce meter често стига до 0 и ако не освободя ресурси, машината яко забива.
Нямам много стартирани процеси във ОС (7-8).

Какво да направя, за да разбера къде е проблема?
Пожелания за Линукс и ВинХП приемам, но възложителят ми - не

Отговор
в отговор на NikB #2

Re: D5/Win9x/System Resource

Разработвай ги на хп и после ги пускай под 9хикс :)

-------------
Special killer double trouble triple extra nicotine monster!
Отговор
в отговор на NikB #3

Re: D5/Win9x/System Resource

hihihi a kakwo shte kajesh za win2k

onteresnoto e towa pri izpalnenie na twojta programa li stawa ili kogato q redaktirash/kompilirash/debugwash?

w win95 GDI to e dosta limitirano toje i ot tam moje da ti idwa problema s resursite probnwaj da polzwash po-malko kontroli ili da suzdawash, unishtojawash formite w dwijenie za da reducirash zaetite handali za prozorci i asociiranata s tqh pamet ...

------------------------------
I got a COMPILER, and I'm not afraid to use it!
Отговор
в отговор на z_free #4

Re: D5/Win9x/System Resource

Zamislil symse po vyprosa, no ne mi se preinstalira dva dena. Mislia da go otloja do sledvastia nov komputer.

Отговор
в отговор на SDR #5

Re: D5/Win9x/System Resource

Prav si, i az po princil ne izpolzvam postoianno systestvuvasti formi ( ima dve-tri takiva). Loshoto e, che ednata ot tiah e s mnogo kontroli (vkl. 18 freima s po 5-6 kontroli).
Kyde da procheta za limitite na Win9x (to i na Me e edno i systoto)?
Niama li nachin da se uvelichat limitite?

I za tvoia vypros: Obiknovenno v procesa na startirane (malko sled startirane) ot Delphito na moeto prilojenie. Kogato startiram prilojenieto ot Win niama problemi.
Kato namalih polzvanite ot D5 biblioteki s komponenti - malko se podobriha nestata.

Редактирано от NikB на

Отговор
в отговор на NikB #6

Re: D5/Win9x/System Resource

Po princip delphito naistina kachva v pametta/zadelq resursi za vsichki komponenti ot bibliotekite koito polzva, a VCL-a ne e mnogo ikonomichen. To zatova samoto delphi zarejda mnogo bavno (sravni s VC). No vupreki tova ne mi se struva normalno da se sluchva tova za koeto govorish. Moje da e ot loj design na prilojenieto ti, govorq mnogo obshto no nqma kak po-konkretno. Zashto ne pusnesh SystemMonitor-a, s prompta pishi sysmon, i go konfiguriraj da ti pokazva CPU, cqlata izpolzvana pamet (fizicheska + virtualna), broj threads, i takiva neshta. Tova moje da ti dade po-tochna ocenka na resursite na sistemata.

Отговор
в отговор на d #7

Re: D5/Win9x/System Resource

Ste go napravia, no az mislia, che imam dosta pylna predstava za polzwanata pamet, hendleri, nishki i t.n. ot MemProof. Ne mi izglejdat koi znae kolko mnogo.
No ste vidia "cqlata izpolzvana pamet (fizicheska + virtualna" sys SysMon.
Nakraia ste zapochna s edin nov proekt i malko-pomalko ste dobaviam formite ot tekustia proekt, za da naluchkam kude e problema. :)

Отговор
в отговор на NikB #8

Re: D5/Win9x/System Resource

1. Сменяш OS- а който ползваш - това което ти казаха и другите. Win/2K или XP - нищо друго.

2. Инсталираш всички SP за Delphi 5- май са 3 ако не ме лъже паметта.

3. Внимаваш с инсталираните компоненти <> от "стандартните" - които въртвят с Delphi - ако прецениш, че можеш да ги замениш със стандартни такива - ги деинсталираш. Не ти препоръчвам да ползваш "откраднати" от тук от там компоненти без да имаш постоянен източник от който да черпиш новите версии - или още по-малко да ползваш компоненти без сорс - най-малкото няма да можеш да ги компилираш при инсталация на SP-тата - нито пък знаеш точно с кой SP те са компилирани.

4. Внимаваш с използването на допълнителни "глезотии" от сорта на CodeRush и прочие.

5. Upgrade към D6 или D7 - последното не го препоръчвам с оглед на това - че няма нищо ново - виж D6 + SP1/2 + RTL2 вече става за работа.

Едно лично мнение - не знам защо, но всички четни версии на Delphi ми се струват по-стабилни - а точно 5-цата нещо не ми е по вкуса- много бързо мигрирах на 6-цата и съм по-доволен. Същите наблюдения имам и за CorelDraw - значи там пък четните версии са доста по-проблемни - поне доколкото го използвах редовно преди няколко години. Там поне проследих - от 5 до 10 включително - е 10ката май почти прави изключение ;-))).


Колкото до ресурсите - нормално е да имаш проблеми със средата - когато работиш - все пак самата тя консумира много ресурси. Ползваш външния компилатор - а средата зареждай колкото да редактираш формите - ако можеш да си го позволиш разбира се

---
Е т'ва е живот!
Отговор
в отговор на NikB #9

Лошо, лошо

Много лошо!
Някаква си формичка с осемнадесет еднакви фрейма, включващи следните контроли:
Panel1: TPanel;
EditPrefix: TEdit;
CheckBoxHex: TCheckBox;
ComboBoxData: TComboBox;
EditSufix: TEdit;
ButtonSend: TButton;
МИ НАМАЛЯВА РЕСУРСИТЕ В D5 с около 30%, дори и в дизайн мод.
Разкарах я от основната си програма - ще я сложа в тестов юнит, но ми е жал

Отговор
в отговор на NikB #10

Re: Лошо, лошо

Прегледай си дизайна!!!
Едно не мога да разбера - защо я повтаряш 18 пъти - това ми се струва не много разумно - ако искаш да извеждаш само данни - прави го по друг начин, а за въвеждането - си направи едно комбо или нещо друго - от което да селектираш от 1 до 18 -тия обект.
Плюс, че не знам колко е голямо - ама поне 800/600 ще ти глътне като размер - а това не е много хубаво - ако случайно не е нагласена разделителната способност - става кофти при стартиране на програмата.
Виж ако някой е решил да се прави на интересен и ти го е възложил - ами да си сърба той попарата.

---
Е т'ва е живот!
Отговор
в отговор на PhantomAS #11

Re: Лошо, лошо

Благодаря за интереса и загрижеността!
Та по-подробно: тази форма се ползва за тестване на обмена по Com Ports, т.е пишат се команди (ASCII или Bin) и се гледа резултата. Обиновенно в един протокол за обмен влизат няколко команди, а и параметрите на командите могат да бъдат различни, поддържа се и история. Затова е добре да има повече фреймове.
До сега (докато беше по-скромна) тази форма присъстваше във всички приложения (с портове) и се ползваше в системните (тестови) режими. Сега ще направя отделна тестваща програмка (или DLL).
Та значи панелът, където са фреймовете е с размери 450х600, но на формата има още и контроли за управление на параметрите на портовете и RichEdit за хронологичния обмен през порта (минималния размер на цялата форма наистина е 800х600 ).

Отговор