Перейти к содержимому


Спрошу-ка я про компьютер,


Сообщений в теме: 21

#1 Alex K

  • Пользователь
  • 356 сообщений

Отправлено 03 December 2002 - 11:38

Дано: рабочая станция с двумя ксеонами и четырьмя гигами оперативки. Требуется: задействовать всю оперативную память под одно приложение. Возможно ли это под Виндами? Пробовал Win2000 Advanced Server - не получается. Или, может, подскажете куда можно обратиться с таким вопросом?

#2 Jar

  • Пользователь
  • 2419 сообщений

Отправлено 03 December 2002 - 12:13

Пожалуй, лучше обратить свои взоры в сторону XP. А вообще проблемы нет - любые винды с легкостью займут все 4 гига оперативки. Приложение при этом запускать вовсе не обязательно :-)

#3 AbdullA

  • Пользователь
  • 2021 сообщений
  • Город:Москва

Отправлено 03 December 2002 - 12:22

Без проблем :)/>
Видел програмки, которые съедали за четверть часа гиг оперативки, потом начинали выпадать в своп и ещё несколько часов мучали винчестер. Это была реализация какого-то нейронного алгоритма :)/>

Весь вопрос - в грамотно подобранном софте :)/>

#4 Alex K

  • Пользователь
  • 356 сообщений

Отправлено 03 December 2002 - 12:37

В том-то и вопрос - какой софт нужен. В приведенной конфигурации (на данный момент - только три гига) c Win2000 Advanced Server, приложение занимает не более двух гигов, судя по диспетчеру задач. При запросе большего количества памяти приложением система выдает "memory allocation error".

(Edited by Alex K at 9:38 am on Dec. 3, 2002)

#5 AbdullA

  • Пользователь
  • 2021 сообщений
  • Город:Москва

Отправлено 03 December 2002 - 12:42

Вероятно есть такое ограничение - я на него пока не натыкался :)/>
Выход - запустить несколько экземпляров программы :)/>

#6 Max

  • Пользователь
  • 197 сообщений

Отправлено 03 December 2002 - 13:05

http://support.microsoft.com/default.aspx?scid=KB;en-us;266096&

Может поможет..

#7 Max

  • Пользователь
  • 197 сообщений

Отправлено 03 December 2002 - 13:09

http://www.microsoft.../pae/paemem.asp

и вот это наверное тоже.

#8 Pavel Lachaew

  • Пользователь
  • 4084 сообщений
  • Город:Москва

Отправлено 03 December 2002 - 14:05

...Одним из примеров громоздкой и, по мнению авторов, бесполезной надстройки
является интегрированная система WINDOWS фирмы Microsoft. Эта
система занимает почти 1 Мбайт дисковой памяти и рассчитана на преимущественное
использование совместно с устройством типа "мышь"...
...Таким образом, читатель уже понял, что среди надстроек над ДОС бывают
довольно бесполезные системы, которые только выглядят красиво, а
на самом деле отнимают время пользователя, память на дисках и оперативную
память ЭВМ.
Обманчивая красота таких систем, однако, сильно воздействует на неискушенных
пользователей, которые не имели практики работы на машине.
Инерция мышления бывает столь сильна, что авторам приходилось наблюдать, как
люди, начавшие работать с подобной настройкой, впоследствии с
трудом заставляют себя изучать команды ДОС. Хочется предостеречь от этой ошибки
читателей...

Персональные ЭВМ в инженерной практике. - М.: Радио и связь, 1989.

#9 Alex K

  • Пользователь
  • 356 сообщений

Отправлено 03 December 2002 - 14:15

Согласен - Win это система не для научных приложений, которые могут жрать немеряно оперативной памяти. К сожалениею, у нас программа пока - только под Винды, хотя планируем на будующее перевести на Юникс и распараллелить. Сосед только что на таком же компьютере по Windows Net добился показаний диспетчера 2,5 гига, после чего программа вылетела, но, поскольку показания диспетчера довольно приблизительны, может быть, что и Net ничего не улучшает.

#10 Pavel Lachaew

  • Пользователь
  • 4084 сообщений
  • Город:Москва

Отправлено 03 December 2002 - 14:37

Что-то не так в Датском королевстве...

У меня в соседней комнате стоит могучий компьютер, выпущенный более 20 лет назад. Он обслуживал 32 терминала (с локальными принтерами), на нем работала вся контора (200 человек). Причем интенсивно работала. На этом компьютере (ROCC-2800) стоит винт формата 8.5 дюйма на 150 мегов (тогда из-за эмбарго нельзя было ввозть больше, и 3 лишних винта выкинули). Процессор - 16-разрядный, работает на 40 мгц. Оперативной памяти - 128 килобайт.

Нет, Windows не для работы... :)/>

#11 Serkosha

  • Пользователь
  • 563 сообщений
  • Город:NY

Отправлено 13 December 2002 - 08:28

В Вин-2000, равно как и в ХР макс. допустимый размер памяти под процесс или задачу есть 2 гига, если установить ключ /3GB в файле Boot.ini то можно получить еще 1 гиг дополнительно. Программа в 5 строк на С или С++ покажет сколько реально можно захватить памяти с точностью до байта.

#12 Alex K

  • Пользователь
  • 356 сообщений

Отправлено 24 December 2002 - 12:14

А где конкретно нужно ставить этот ключ - может быть в какой-то конкретной команде? Я поставил просто в отдельной строке, задача вылетела с диагностикой превышения предела памяти при следующих показаниях диспетчера: выделено памяти - 1.5Gb, предел выделения - 5.3GB, физическая память - 3.4Gb, доступно - 1.8.

#13 Serkosha

  • Пользователь
  • 563 сообщений
  • Город:NY

Отправлено 24 December 2002 - 16:34

2 Alex K В Boot.ini должно быть что-то такое:
[Boot Loader]
Timeout=30
Default=multi(0)disk(0)rdisk(0)partition(2)WINNT
[Operating Systems]
multi(0)disk(0)rdisk(0)partition(2)WINNT="Windows 2000 Advanced Server
" /3GB

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

#14 Serkosha

  • Пользователь
  • 563 сообщений
  • Город:NY

Отправлено 24 December 2002 - 16:41

Я бы рекомендовал посетить соответ. форум в конференции на
http://forum.ixbt.com/ - там копьютерная публика, вероятность получить квалиф. помощь очень высока. Нужно зарегистрироваться и также подробно изложить суть проблемы, что делал, что не делал, что из этого вышло и т.д.

#15 Alex K

  • Пользователь
  • 356 сообщений

Отправлено 24 December 2002 - 22:27

Спасибо за ссылку, обязательно посещу. Я так понял что дополнительный гиг можно получить только в Advanced Server. Есть он у меня, попробую...

#16 Serkosha

  • Пользователь
  • 563 сообщений
  • Город:NY

Отправлено 26 December 2002 - 07:49

Точнее во всех серверных версиях.

#17 Alex K

  • Пользователь
  • 356 сообщений

Отправлено 27 December 2002 - 11:48

Получилось! Поставил на один один диск XP и Server, в Server проходит задача с миллионом расчетных узлов, в то время как в ХР - только 730 тыс. Поскольку количество требуемой памяти в этой программе приблизительно прямо пропорционально количеству расчетных узлов, очень похоже, что Server позволяет использовать дополнительный гиг: разница между двумя задачами - в 1.4 раза по количеству расчетных узлов. Конечно, для трехмерной программы - это небольшая разница, но хоть утешает, что можно использовать почти всю доступную память. А то обидно - материнская плата срезала 800 мегов, да еще Винды ограничивают.
Но только вот что интересно - наличие или отсутствие ключа /3GB на максимальную размерность задачи не влияет! И с ключем и без ключа проходит максимум миллион расчетных узлов. Boot.ini выглядел так:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional RU" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)WINNT="Microsoft Windows 2000 Advanced Server" /3GB /fastdetect

А может в новой версии сервера эта опция (/3GB) зашита по умолчанию?

#18 Serkosha

  • Пользователь
  • 563 сообщений
  • Город:NY

Отправлено 27 December 2002 - 20:03

Alex K Вы не внимательно читали предыдущие посты. Материнская плата здесь не причем. Даже если бы было реальной физической оперативки 2 гига, дополнит. гиг для приложения доступен всегда - речь то идет о дополн. гиге ВИРТУАЛЬНОЙ памяти. А виртуальная память в НТ-вых виндах (НТ, 2000, НЕТ, ХР) подкачивается с диска. Между прочим в менеджере памяти какое значение стоит на вирт. память?

#19 Alex K

  • Пользователь
  • 356 сообщений

Отправлено 27 December 2002 - 22:31

А... о виртуальной, действительно, извиняюсь. Точно не помню, какое значение стоит вирт. памяти (я дома сейчас, а тот компьютер - на работе, посмотреть не могу). А вообще можно прикинуть: если предел выделения был около 5 ГБ - значит виртуальной - около 2. Но все дело в том, что до виртуальной памяти у меня вообще дело не доходит, т.к. доступной оперативки - 3 с небольшим гига, и, поскольку Win не может выделить больше, задача вылетает даже в сервере с диагностикой превышения установленной на компьютере памяти, а диск при этом - вообще не шевелится! Кстати, я так понял, что предел выделения 2GB или 3 - для Сервера - это абсолютный предел (для одного приложения), и наличие виртульной памяти не может его увеличить ни на байт. Это связано с максимальным адресом объекта в памяти, определяющимся, в свою очередь, разрядностью процессора и системы. Сервер может выделить немного больше, чем XP из-за того, что использует зашитый в процессор PAE (physical address extension). Но принципиально эту проблему можно решить только перейдя на 64-разрядные процессор и систему.
А материнская плата, конечно, не причем, но то, что она не "видит" почти 800 установленных на ней мегов - весьма неприятно, хотя для Windows, получается, они что есть - что нет, если говорить о доступной памяти для одного приложения - выше головы все равно не прыгнешь!

#20 SergeyChernow

  • Пользователь
  • 694 сообщений
  • Город:Moscow region

Отправлено 28 December 2002 - 03:39

Прошу прощения за встревательство: что-то тут у Вас не то с арифметикой. Было.
Если 32 разряда, так адресное пространство процесса В ПРИНЦИПЕ ограничено величиной 2G. Выше головы не прыгнешь...
Стало быть, смотрите в сторону Compaq Alpha, Intel IA64 (чего еще там нынче есть-то...), соответственно, под OpenVMS, True64UNIX и т.п.

MS must die однозначно!...
(Вот, собственно, чего ради оно и встревалось!. :)/> Sorry за частичный off-topic.)

#21 Serkosha

  • Пользователь
  • 563 сообщений
  • Город:NY

Отправлено 28 December 2002 - 08:55

2 SergeyChernow
C арифметикой у нас как раз все в порядке. 32 разряда дает именно 4 гига, а если быть совсем точным, то 4,294,967,296 байта.
Не нравится Мелкософт - не пользуйте.

#22 Alex K

  • Пользователь
  • 356 сообщений

Отправлено 28 December 2002 - 10:24

Цитата

Quote: from SergeyChernow on 12:38 am on Dec. 28, 2002
Если 32 разряда, так адресное пространство процесса В ПРИНЦИПЕ ограничено величиной 2G. Выше головы не прыгнешь...


Да, я об этом догадывался, смысл был в том, чтобы посмотреть, что дает Сервер по сравнению с XP (с ее двумя гигами). Оказалось - дает, но не слишком много...





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных