Используется много виртуальной памяти

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Используется много виртуальной памяти

Сообщение Вадим » 14.07.2009 22:57:47

Написал консольное приложение под Linux используя FPC 2.2.2 и Lazarus 0.9.26.3 - бинарник получился почти на 3 мегабайта.
После запуска, программа занимает 4 Мб оперативной памяти и более 100 Мб виртуальной.
Почему так много виртуальной памяти сожралось?
Заметил, что применение в программе дополнительного TSQLQuery (MySQL) существенно увеличивает расход виртуальной памяти (примерно на 50 Мб). Выборки из таблиц возвращают не более десятка строк.

Аналогичная программа ранее была написана на Delphi, которая под Windows расходовала не более 10 Мб виртуальной памяти.
Вадим
новенький
 
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Re: Используется много виртуальной памяти

Сообщение Attid » 16.07.2009 11:18:06

Вадим писал(а):Почему так много виртуальной памяти сожралось?

вам виднее. посмотрите какие обьекты в памяти вы держите. хорошо может кушать память TStringList например.

попробуй делать паузу между действиями и смотреть что увеличивает память

типа что-то
Код: Выделить всё
db := TmyDB.create;
{$ifdef DEBUG}
debugln('TmyDB.create');
sleep(15000);
{$endif}

и так на каждое действие.
как отловишь кто кушает или избавляйся или бей тревогу. сюда или в трекер.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Используется много виртуальной памяти

Сообщение Вадим » 16.07.2009 14:25:34

Спасибо, а еще лучше по окончании задержки сразу в лог записывать значение "съеденной" виртуальной памяти.
Вадим
новенький
 
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru