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

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

Не могу выделить более 1.7Gb виртуальной памяти.


Школьник ©   (2003-05-20 14:04:00) 

Я выделял память и GEtMem"ом и VirtualAlloc но более 1.7Gb не получается. Пишет что памяти не хватает, а на жестком диске еще свободно осталось 3Gb. И ограничения я не ставил на размер файла подкачки. Вот еще один нюанс я читал что одна программа не может выделять для своих нужд более 2Gb памяти, но я запускал одну программу выделил 1.7Gb а потом запустил еще одну программу и выделил 400Mb и вторая программа не захотела почемуто выделять мне всего 400Mb. Помогите плиз. Это вопрос меня давно уже мучает.


Tano   (2003-06-07 02:01:00) [1]

2 Jimal ©> Эта цифра (1,7Gb) не связана с объемом винта. Я когда пробовал, было в распоряжении Win до 6 Gb: выделяй -не хочу!


Jimal   (2003-06-05 08:03:00) [2]

sliw 4uvak mozet u tja deistviteljno pamjati na HDD ne hvataet!!!!!!!!!!:))))))))))))))


Дучф   (2003-06-04 19:57:00) [3]

Используй отображаемые в память файлы. Теоретически можно отхватить около 4 миллиардов гигабайт.


Alex Konshin   (2003-05-29 05:00:00) [4]

Извините, ответил немного не на тот вопрос. Хотя все равно почитать будет полезно.

Я не верю, что тебе действительно нужно столько памяти. Нужно искать другое решение.
Ты просто не сможешь его адресовать. Если же нужно как-то работать с файлом таких размеров, то используй FileMapping.


Alex Konshin   (2003-05-29 04:54:00) [5]

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/memory/base/large_memory_support.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/memory/base/awe_example.asp


Школьник   (2003-05-27 15:14:00) [6]

Жалко нету готовых работающих примеров...


sts   (2003-05-21 17:12:00) [7]

может быть это решит проблему ? :
http://it-books.narod.ru/WIN32/richter_rus.rar


Tano   (2003-05-21 11:47:00) [8]

Недавно ковырял эту проблему. В Delphi Helpe Win32 написано примерно следующее:
...Всего адресуемое пространство процессора (32-рязрядного) составляет 4Gb, из которого первые 2Gb выделяется на виртуальное адресное пространство системы и приложенИЙ (всех вместе!), а верхние 2Gb - используются для обращения к устройствам, которые отображают свои ресурсы на память.
...Для каждого процесса система создает свое собственное виртуальное адресное пространство.
^Это - примерный пересказ^ (может нюансы пропустил, английский, все-таки)
Вообще я тоже самое пробовал и именно не более 1.7Gb дает. Насчет других программ, то практически все уважающие себя проги типа PhotoShop делают собственные TMP файлы (где - либо сам указываешь, либо прога выбирает).

Если не прав, господа Мастера, поправьте меня.


zom   (2003-05-21 11:13:00) [9]

А всё таки, под какаю винду ты ето делаешь?
под 98, МЕ врядли вообще возможно,
а под 2000 попробуй в настройках поменять размер файла подкачки..
там наверно автомат стоит, так этот автомат обычно от 1 до 3х размеров ОЗУ, а ты поставь сам - от 1 до 5гиг например, да еще на каждом диске по стока (если дисков больше одного)


Slym   (2003-05-21 06:46:00) [10]

А ты знаешь что маздай 98х не может работать с файлами больше 2гб
следовательно и файлом подкачки (виртуальной памятью)!
А в памяти кроме твоей проги еще много чего...
(файловый кеш, коды программ, оболочки, ОС)
А про 2 гб на приложение - это адресное пространство... под которое память может и не выделяться...
например fileMapping... файл 1гб , а памяти можно выделить 64кб

ИТОГ: каждая прога может 2гб... но все вместе могут не больше чем 2ГБ + оперативка
А оперативка не более 2гб тоже!!! т.к. оперативку надо адресовать на что ОС выделяется все те же 2ГБ адресного пространства! не памяти!
ВСЕ для 98х...


N175   (2003-05-20 17:56:00) [11]

Может, они в файлы писAли? Как вообще работали проги во времена DOS на 640Кб?


Игорь Шевченко   (2003-05-20 17:55:00) [12]

А зачем такие объемы выделять при таком уровне знаний ?


Школьник   (2003-05-20 17:27:00) [13]

Дело в том что одна прога не может выделять более 2Gb а я запускал две проги т.е. по идее каждая из них может выделить по 2Gb на нос. Но почему то никак не получается. Я кстати смотрел объем виртуальной памяти оставшейся(свободной) там оказалось что очень мало(10Mb) но я запускал разные супер тежеловесные программы и они на мое удивление съедали место у меня на харде. Т.е. я назапускал дофига программ и оказалось они съели место на 100Mb а то и больше. Т.е. получается им можно а мне нет!!!
Почему???? Не пойму до сих пор.


N175   (2003-05-20 15:50:00) [14]

>одна программа не может выделять для своих нужд более 2Gb памяти

В этом вся причина.


Yanis   (2003-05-20 14:54:00) [15]

А нафига тебе столько? Ты чё там кортошку сажаешь.


VMcL   (2003-05-20 14:52:00) [16]

Размер RAM?


Наверх

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