![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не могу выделить более 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?