Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Объем памяти занимаемый приложением [D5, D7, Win2k, WinXP]


rds_home ©   (2006-10-21 19:18:00) 

Добрый вечер.
Есть код:

program notes;
uses
 windows;

var
 ExitFlag: boolean;

begin
 ExitFlag:=false;
 repeat
   Sleep(100);
 until ExitFlag;
end.

при запуске это занимает в памяти более мегабайта.
Вопрос1: Как это понимать?
Вопрос2: Как сделать меньше?


Германн   (2006-10-22 02:37:00) [1]


> Vovan#1   (21.10.06 22:40) [13]
>
> 2 Percent   (21.10.06 21:30) [12]:
>
> Как определить реальный объём требуемой памяти?
>

Дурацкий вопрос, имхо. Или неверно сформулированный.
В обоих случаях - не имеющий реального смысла в Windows. Имхо.


Vovan#1   (2006-10-22 00:51:00) [2]

2 Percent:

Чего ещё прочитал?


Percent   (2006-10-21 23:38:00) [3]

Как определить реальный объём требуемой памяти?

4 GB на каждый процесс


Vovan#1   (2006-10-21 23:26:00) [4]

Или погрузить память в мензурку с жидкостью и вычислить вытесненный объём. Почти не сомневался, что клуб заговорщиков Делфи-сакс ответит именно так. Впору говорить делфи-программам: "Всё жрёте и жрёте, и жрёте, уже не можете, а жрёте. Жрать не надоело?" Это про память.


Percent   (2006-10-21 23:07:00) [5]

Как определить реальный объём требуемой памяти?

Надо реальную высоту требуемой памяти умножить на реальную ширину, умноженную на реальную длину.


Anatoly Podgoretsky   (2006-10-21 22:45:00) [6]

Какой именно памяти?, кроме того это динамический процесс.


Vovan#1   (2006-10-21 22:40:00) [7]

2 Percent   (21.10.06 21:30) [12]:

Как определить реальный объём требуемой памяти?


Percent   (2006-10-21 21:30:00) [8]

Вопрос1: Как это понимать?

В ОС Windows большинство программ линкует динамически подключаемые библиотеки (kernel32.dll, user32.dll и пр.). Эти библиотеки отображаются в адресное пространство процесса, увеличивая объем "занятой" памяти. На самом деле, это мнимое увеличение, так как библиотеки только лишь отображаются в адресное пространство, не занимая при этом реальной физической памяти. Вообще, память в большинстве современных многозадачных ОС - виртуальная... Так что вопрос изначально поставлен некорректно...

Вопрос2: Как сделать меньше?

1. Не загружать библиотеки.
2. Писать под DOS.
3. Забить на программирование.


Джо   (2006-10-21 21:03:00) [9]

> [9] Anatoly Podgoretsky ©   (21.10.06 21:00)
>
> > пишу одну прогу, которая будет постоянно висеть в памяти.
>
> Это затруднительно, а система знает об этом?

Ну, все-таки, не сказано-ж: "в оперативной" :)


Anatoly Podgoretsky   (2006-10-21 21:03:00) [10]

Память она разная бывает, врядли ты работает с оперативной памятью или на уровне системы фиксируешь свою программу в оперативной памяти.


Anatoly Podgoretsky   (2006-10-21 21:00:00) [11]


> пишу одну прогу, которая будет постоянно висеть в памяти.

Это затруднительно, а система знает об этом?


Джо   (2006-10-21 20:54:00) [12]

> при запуске это занимает в памяти более мегабайта.

А сколько нужно?


Kolan   (2006-10-21 20:53:00) [13]

> 1
> бредовый код
> Эксперимент :)

Эксперимент неверный... На чистом проекте проверь...


Джо   (2006-10-21 20:53:00) [14]

> [5] rds_home   (21.10.06 20:49)

Хм. Сначала показывается бредовый код и спрашивается: "почему он занимает в памяти столько-то?". Затем оказывается, что речь идеть о совсем ином коде.


rds_home   (2006-10-21 20:49:00) [15]

Я должен показать весь код ?


Kolan   (2006-10-21 20:34:00) [16]

Что вот как пустое приложение с приведенным кодом 8 метров занимает?


rds_home   (2006-10-21 20:30:00) [17]

Именно программа, а не сервис


rds_home   (2006-10-21 20:30:00) [18]

Dmitrij_K   (21.10.06 19:53) [1]
1
бредовый код
Эксперимент :)
2
зачем?
Чем меньше тем лучше :)

пишу одну прогу, которая будет постоянно висеть в памяти. Сейчас занимает от 6 до 8 мб. Хочется намного меньше :)


Dmitrij_K   (2006-10-21 19:53:00) [19]


> Есть код:

бредовый код

> Как это понимать?

резервирует память, на всякий случай

> Как сделать меньше?

зачем?


Наверх

Титульная страница Поиск, карта сайта Написать письмо