![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Sergio |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 843 Регистрация: 28.7.2006 Где: Solar System-> Earth Репутация: нет Всего: 1 |
Здраствуйте. Хочу выделить память для у 800 мб. Вот написал
Почему выбивыет ошибку? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 23 Всего: 459 |
Sergio, может это от компилятора зависит? Какой выдает ошибку?
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Sergio |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 843 Регистрация: 28.7.2006 Где: Solar System-> Earth Репутация: нет Всего: 1 |
||||
|
||||
| BreakPointMAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 2 Всего: 24 |
Нужен непрерывный кусок размером 800 Мб в адресном пространстве процесса, если нет такого, если память фрагментирована, то ничего и не выделится... Натыкался на подобное, когда пытался маппировать файлы больше 600 Мб...
-------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 23 Всего: 459 |
BreakPointMAN, Вообщето логично, но разве подкачка ему не память? Сделать файл подкачки на 3Гб. Неужели не найдется в нем фрагмента достаточного размера.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| BreakPointMAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 2 Всего: 24 |
Это ничего не даст. И дело не в размере файла подкачки. Дело в том, как обстоят дела в адресном пространстве процесса. Ну, увеличишь ты размер файла подкачки - что с того? Он же не одним этим процессом используется... -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 23 Всего: 459 |
Ну память выделяется обычно последовательно блок за блоком, так что пространство за ним свободно. Если программа до того занимала 10-15Мб, то ей доступно еще как минимум (2Гб - 15Мб) адресного пространства где можно выделять большие блоки. Другое дело если прога занимает 1,1 Гб, а нужно еще 800мб, то тогда может и не найтись места в ее адресном пространстве. Если имелись ввиду другие процессы, тогда вообще это не играет роли, поскольку в NT системах у каждой проги свое виртуальное адресное пространство, из которого 2Гб всегда к ее услугам, в не зависимости от других программ. А вот куда и как оно отображается это нас не волнует, лишь бы хватило места в принципе, а нужные в данный момент страницы в ОЗУ операционка сама загрузит. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| BreakPointMAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 2 Всего: 24 |
alexeis1, ты не совсем меня понял. Я имел в виду вот что: в общем случае мы не можем контролировать фрагментированность адресного пространства процесса, имеется слишком много факторов, которые придется в таком случае учитывать... куда грузились библиотеки... как выделялась память VirtualAlloc... а если приложение писалось не на чистом WinAPI, а, скажем, с использованием кучи стандартных и сторонних компонентов и библиотек?.. За всем не уследишь. Увеличение размера файла подкачки само по себе ничего не даст, фрагментированность зависит вовсе не от него. Память-то свободная, может быть, и будет, и, возможно, даже много, но вот то, что это будет непрерывный кусок - далеко не факт...
-------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 23 Всего: 459 |
Чесно говоря это скорее особенность ОС. Вот 536Мб выделил свободно, а больше никак. Правда виртуальной памяти у меня даже гига нет, возможно поэтому. Но винда должна стараться управлять памятью так, чтобы оставались большие куски. К сожалению нет возможности сейчас увеличить подкачку. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 1 Всего: 10 |
Опиши зачем тебе это нужно?
Кстати в 32 версии Виндовс под процесс выделяется всего 4 гига. Из них 2 гига система берет на себя. Для пользователя остается 2 гига. Есть возможность урезать аппетит системы увеличив пользовательскую виртуальную память до 3 Гига. Читаем книгу Дж. Рихтера "Виндовс для профессионалов". Порекомендовал бы копать в сторону Mapping file. Это как бы свой персональный своп. Как работать с ним, также описывается у Рихтера. -------------------- Пролетал мимо. |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 9 Всего: 149 |
Просто влезу в беседу:
У каждому приложению выделяется своя виртуальная память (как было уже сказано размером в 4 Гига). Как она потом мапируется на физическую память --- вопросы операционки (в данном случае Винды). P.S. Такая система исключает использование чужего адресного пространства (что было бы ооооогромной дыркой в системе безопасности) |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |