Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Нужна ли виртуалка при 4 gb оперативки? что показывает Task

Автор: Vadim_PDF
Дата сообщения: 31.07.2007 22:28
Интересует нужна ли виртуалка вообще (даже для совместимостью со старыми программами) при 4 gb оперативки (речь о 32 bit системе WinXP) и что показывает диспетчер задач (swap отключен на всех дисках, проверил)?
P.S. Меня давно мучал вопрос - уж не лоханулись ли они с диспетчером задач

Добавлено:
http://img102.imageshack.us/my.php?image=untitled2tu6.gif
Автор: nick7inc
Дата сообщения: 01.08.2007 11:25
По-моему, можно задать размер файла подкачки для каждого из логических дисков. Может он существует на каком-то другом диске? Это раз. Во-вторых, в Windows 9x точно начинались глюки при задании нулевого файла подкачки, особенно при запуске Dos-приложений. Возможно, что и в Win XP...
Автор: grayfog
Дата сообщения: 01.08.2007 11:36
В Windows 98 была прекрасная недокументированная опция "ConservativeSwapfileUsage=1". С ней вмнда свопилась только тогда, когда это действительно нужно. Соответсвенно, на моём компе с 768 MB RAM она не свопилась никогда, но в случае чего - не стала бы теряться.

Windows XP я до сих пор не нашёл способа отучить свопиться по поводу и без повода. У меня 1.2 GB RAM и свободной физической памяти всегда докуя, но в данный момент, например, индикатор "PF usage" (использование своп-файла) показывает 357 MB, несколько секунд назад было 353.

Если в настройках Virtual Memory отключить все свопфайлы на всех дисках (в Windows 2000 такой возможности вообще не было), то винда всё-равно насоздаёт свопфайлов там где ей нравится - проверял.

Был бы по гроб жизни благоарен тому человеку, который бы сказал мне как настроить Windows XP так, чтобы она не использовала виртуальную память вообще, а точнее лучше чтобы не использовала пока не закончится память физическая.
Автор: Vadim_PDF
Дата сообщения: 01.08.2007 12:05
Темпарей не было создано вообще. Проверял, не нашёл ни на одном из 2-х физических дисков файла pagefile.sys.
Но все равно не могу понять. Как WinXP без ключа /PAE (48-bit ная адресация) сможет адресовать (пусть даже в виртуалку) больше 4Gb ?
Автор: grayfog
Дата сообщения: 01.08.2007 12:23
Vadim_PDF


Цитата:
не нашёл ни на одном из 2-х физических дисков файла pagefile.sys.


А она их в этом случае по-другому называет, сейчас не помню уже как именно. Но я в своё время их моментально вычислил.


Цитата:
Как WinXP без ключа /PAE (48-bit ная адресация) сможет адресовать (пусть даже в виртуалку) больше 4Gb ?


Там, вроде 4 GB на каждый процесс адресуется.
Автор: Vadim_PDF
Дата сообщения: 01.08.2007 12:58
«Там, вроде 4 GB на каждый процесс адресуется.»
Как на процесс? Токда к чему ломания копей при вопросах - купил 4 G оперативы видит только 3,2!
Автор: nick7inc
Дата сообщения: 01.08.2007 13:10
Vadim_PDF

Цитата:
купил 4 G оперативы видит только 3,2

Не хватает виртуальных адресов. К примеру, видеокарта использует часть адресного пространства для прямого доступа к видеопамяти.


Добавлено:
В Windows 98 так вообще глюки начинались, если памяти больше определённого колличества.
Автор: grayfog
Дата сообщения: 01.08.2007 13:17

Цитата:
В Windows 98 так вообще глюки начинались, если памяти больше определённого колличества.

Да, и колличество это лежит где-то между 768 (256x3, рабоает великолепно, без каких либо ухищрений) и 1 GB (тут уже приходится поизвращаться чтобы вида хотябы загрузилась без ошибок).

По Win98 меня другой вопрос интересует. Не в тему конечно, но вдруг кто из вас, господа экспериментаторы, знает. Вопрос заключается в том, как заставить Win98 работать в нормальном (не Safe Mode) режиме на компьютере с процессором Pentium M (Centrino).
Автор: nick7inc
Дата сообщения: 01.08.2007 13:22
У меня вроде грузится без проблем. Просто драйверов всех нет для железок, скажем, для видеокарты я не нашёл. Поэтому много под ней не работал.
Автор: vertex4
Дата сообщения: 01.08.2007 14:07
Vadim_PDF
Скорее всего, там показывается использование всей памяти (об этом говорит предел(слева, внизу), соответствующий размеру оперативы. Если есть swap - он равен оперативе + место отведенное под своп). Интересно, как в английской версии винды сформулировано?
Про ограничения:
32-bit XP (PAE есть только в WServer 2003): 3 гига на процесс, объем памяти < 4гигов (4 гига минус адреса под устройства).
98: 512 - нормально, больше - читать тему Windows 98 SE (оптимизация и улучшение)

Цитата:
как заставить Win98 работать в нормальном (не Safe Mode) режиме на компьютере с процессором Pentium M (Centrino).

Возможно, чипсет просто не поддерживает Win98.
Автор: Vadim_PDF
Дата сообщения: 01.08.2007 14:24
Про /PAE - я как-то переделывал dll-ки, для того, что бы создать програмный raid 0 на WinXP. Дело в том, что при переделывании их винда начинает видеть себя как NT система и включает в управлении дисками функции для создания програмного raid массива. Интерестно, есть ли что-то подобное для /PAE. Хотя конечно вряд ли.
А по поводу основного вопроса - все таки интересно - как сможет WinXP что то выгрузить в свап, больше 4 Gb, если cвап это фактически продолжение памяти?
Автор: PapaKarlo
Дата сообщения: 01.08.2007 19:30
Vadim_PDF

Цитата:
Как WinXP без ключа /PAE (48-bit ная адресация) сможет адресовать (пусть даже в виртуалку) больше 4Gb ?

Никак, если это не 64-битная система, поскольку 2^32=4G.

Цитата:
А по поводу основного вопроса - все таки интересно - как сможет WinXP что то выгрузить в свап, больше 4 Gb, если cвап это фактически продолжение памяти?

Заметь, это уже другой вопрос (выгрузить или адресовать). А что, собственно, должно принципиально помешать такой выгрузке в swap, что в результате будет использовано более 4 Гигбайт swapfile? В конце концов, удается же как-то под WinXP создавать файлы размером более 4 Гб Ну, а если серьезно, то выгружены могут быть несколько фрагментов одновременно, именно их суммарный объем может превысить 4 Гб. Но для этого вовсе не обязательно поддерживать виртуальное адресное пространство более 4 Гб. Сформулируем по другому: для менеджера памяти swap в некотором смысле действительно является продолжением памяти, а для клиента, пользующегося услугами менеджера памяти, swap вообще не виден.

grayfog

Цитата:
Был бы по гроб жизни благоарен тому человеку, который бы сказал мне как настроить Windows XP так, чтобы она не использовала виртуальную память вообще, а точнее лучше чтобы не использовала пока не закончится память физическая.

А чем же так провинилась виртуальная память? На самом-то деле можно использовать либо только виртуальную, либо только физическую память (подумай хорошенько). А если ты имеешь ввиду - хотелось бы, чтобы swap файл не использовался диспетчером памяти только до тех пор, пока для поддержки затребованной виртуальной памяти достатчно физической - то, подозреваю, в WinXP это невозможно, т.к. система спроектирована не в соответствии с этим пожеланием. Но я не вижу здесь трагедии, реализованная в WinXP стратегия использования swap файла не так уж и плоха. Если система простаивает, диспетчер памяти находит фрагменты физической памяти, которые могут быть потенциально выгружены при нехватке физической памяти, и... записывает их в swap файл, но не удаляя их адресного пространства владельца, а просто помечая: "когда потребуется, можно сразу отдать другому". Если бы этого не произошло, то при запросе, вызывающем нехватку физической памяти для некоторой программы, последней пришлось бы ждать своппинга, а так как этот "пре-своппинг" был выполнен в момент простоя системы - вуаля! - ждать ничего не надо. Конечно, любая стратегия имеет свои минусы (кроме стратегии покупки 100000 Тб физической памяти ); при описанной выше стратегии увеличивается износ HDD и уровнь шума, создаваемого компьютером. Но тут уж ничего не поделаешь - почти ничто не дается в этом мире даром.
Автор: NoAngel777
Дата сообщения: 01.08.2007 21:29
лучше оставить файл подкачки хотя бы 512 Мб. MS Win32 любят своппиться , разрабочики вряд ли писали с расчётом на то что pagefile.sys не будет - это исключительная ситуация - часть приложений может работать нестабильно.

если установлено 4 Гб ОЗУ подумайте о возможности установки x64 OS. Они лучше работают с такими объёмами ОЗУ.
Автор: OldGopher
Дата сообщения: 01.08.2007 21:58
Файл подкачки не для свопа. Точнее, своп - это не основное его предназначение.
Без файла подкачки функции API типа CreateFileMapping (0xFFFFFFFF, ...) будут слетать. Некоторые программы заартачатся...

Можно выделить 1Гб под виртуальный диск и засунуть на него своп. Или воспользоваться драйвером фиктивного свопа из пакета Target Designer XP Embedded.
Но как отмечалось в статьях на эту тему: скорости это не прибавит...
Автор: PapaKarlo
Дата сообщения: 01.08.2007 23:24
OldGopher

Цитата:
Файл подкачки не для свопа. Точнее, своп - это не основное его предназначение.
Без файла подкачки функции API типа CreateFileMapping (0xFFFFFFFF, ...) будут слетать. Некоторые программы заартачатся...

Мм... Правильно ли я делаю вывод, что основное назначение файла подкачки вовсе не быть хранилищем (при необходимости) содержимого физической оперативной памяти, что является одной из составляющих механизма реализации виртуальной памяти (в том числе и отображения файла в память), но для чего-то таинственного другого? Что касается нескольких программ, которые могут заартачиться, то мне кажется, что своп-файл принадлежит к числу тех, без которых заартачится вся ОС.
См. также здесь


Цитата:
Можно выделить 1Гб под виртуальный диск и засунуть на него своп.

Ну да, а еще можно сахарин сахаром подсластить.
Автор: grayfog
Дата сообщения: 02.08.2007 01:09
vertex4


Цитата:
98: 512 - нормально, больше - читать тему

Я вам гарантиную что и 768 точно так же нормально. Тему читал и даже сам экспериментировал.


Цитата:
Интересно, как в английской версии винды сформулировано?




Цитата:
Возможно, чипсет просто не поддерживает Win98.

Скорее наоборот

Vadim_PDF

Цитата:
я как-то переделывал dll-ки, для того, что бы создать програмный raid 0 на WinXP. Дело в том, что при переделывании их винда начинает видеть себя как NT система


А до переделки она видит себя не как NT система? А как какая система тогда? 98 чтоли?

Добавлено:
PapaKarlo


Цитата:
На самом-то деле можно использовать либо только виртуальную, либо только физическую память (подумай хорошенько).


Подумал - второй вариант меня устроит.


Цитата:
Конечно, любая стратегия имеет свои минусы (кроме стратегии покупки 100000 Тб физической памяти );


У меня памяти больше гига, а в самые крутые моменты бывало занято максимум около 700 MB. Такми образом я предполагаю что практически, скажем, память в 2 GB будет для меня эквивалентна этим же 100000 Тб т.к. никогда не будет заполнена.

OldGopher

Цитата:
Можно выделить 1Гб под виртуальный диск и засунуть на него своп.


У меня была такая мысль, но потом я подумал: а не вздумает ли винда скинуть часть виртуального диска в виртуальну же память (которая на нём и хранится)? Во было бы смешно.


Цитата:
Или воспользоваться драйвером фиктивного свопа из пакета Target Designer XP Embedded.


А где его взять?
Автор: PapaKarlo
Дата сообщения: 02.08.2007 17:15
grayfog

Цитата:
Цитата:На самом-то деле можно использовать либо только виртуальную, либо только физическую память (подумай хорошенько).

Подумал - второй вариант меня устроит.

Боюcь, что в таком случае тебя устроил бы вариант ОС, использующей совсем другие принципы упровления памятью, чем современные ОС для архитектуры i386, к тому же ориентированной на несколько другой тип процессора, поскольку управление памятью, аппаратно поддерживаемое i386, ориентировано именно на использование механизма виртуальной памяти (хотя такое использование и необязательно, но это была бы совсем другая история).
Впрочем, я уже говорил, что по-видимому ты имеешь ввиду такое использование виртуальной памяти, чтобы ее размер не превышал размер физической. По этому поводу см. следующий комментарий.


Цитата:
У меня памяти больше гига, а в самые крутые моменты бывало занято максимум около 700 MB. Такми образом я предполагаю что практически, скажем, память в 2 GB будет для меня эквивалентна этим же 100000 Тб т.к. никогда не будет заполнена.

Проблема однако в том, что OS Windows разрабатывалась для использования не только тобой. У меня, например, тоже есть целый ряд пожеланий к Windows по поводу поддержки программ реального времени, но я смирился и использую другие решения этой задачи.


Цитата:
но потом я подумал: а не вздумает ли винда скинуть часть виртуального диска в виртуальну же память (которая на нём и хранится)? Во было бы смешно.


Думаю, однако, что драйвер виртуального диска спроектирован (или, по крайней мере, переписан после его первого испытания) так, что используемая им память блокируется. В противном случае (даже без размещения файла выгрузки на виртуальном диске) такой драйвер теряет всякий смысл.
Автор: Vadim_PDF
Дата сообщения: 02.08.2007 23:42

Цитата:
А до переделки она видит себя не как NT система? А как какая система тогда? 98 чтоли?

СОРРИ - Я имел виду себя как серверную систему.
Автор: Permikov
Дата сообщения: 03.08.2007 09:56
В 32 разрядной системе максимальный объем RAM памяти может быть 4 GB (2 в 32 степени), поэтому можно делать, можно не делать файл подкачки, разницы нет. Другой вопрос поддерживает ли материнка 4 GB RAM, что далеко не всегда бывает, даже если в документации написано, что поддерживает.
Автор: grayfog
Дата сообщения: 03.08.2007 11:53
PapaKarlo

Цитата:
Боюcь, что в таком случае тебя устроил бы вариант ОС, использующей совсем другие принципы упровления памятью, чем современные ОС для архитектуры i386, к тому же ориентированной на несколько другой тип процессора


Цитата:
Проблема однако в том, что OS Windows разрабатывалась для использования не только тобой.

Скажешь - как отрежешь.


Цитата:
по-видимому ты имеешь ввиду такое использование виртуальной памяти, чтобы ее размер не превышал размер физической.


Я имею ввиду такое использование виртуальной памяти, чтобы оне не использовалась нах. ВWindows 98 это работало прекрасно, причём двумя сопособами: радикальным - через отключение виртуальной памяти и совершенно идиллическим - через ConservativeSwapfuleUsage=1.

В Windows XP всё что можно (по крайей мере что я нашёл) сделать это включить DisablePagingExecutive (чтобы она хотябы ядро в своп не сбрасывала) и настроить кэши на сильное и агрессивное кэширование, что, в прочем во многих случаях даёт ещё и снижение производительности (видимо за счёт затрат времени на считывание в оперативку ненужных или редко нужных данных). Я, правда, предполагаю что возможно есть способ если не просто запретить ей свопиться, то навставлять палок в колёса так, что она просто этого не сможет (путём регулировки низкоуровневых параметров пэйджинга и, может быть, хотя вряд ли, как говорилось выше, установкой 4 GB RAM), но боюсь что это если и получится, то, как и любой изврат с низкоуровневыми системными параметрами, чревато.
Автор: PapaKarlo
Дата сообщения: 03.08.2007 11:59
Permikov

Цитата:
В 32 разрядной системе максимальный объем RAM памяти может быть 4 GB (2 в 32 степени)

Еще раз, не надо путать понятия "пространство адресов виртуальной памяти процесса", "объем виртуальной памяти, поддерживаемый системой" и "объем поддерживаемой/доступной для использования физической памяти (RAM)". По поводу последней величины имеется следующая информация:

Цитата:
Объем поддерживаемой (в режиме PAE - PK) физической памяти зависит от версии и редакции 32-битной OS Windows. По информации из перечисленных ниже статей:
http://www.microsoft.com/windowsserver2003/evaluation/features/compareeditions.mspx
http://www.microsoft.com/windowsserver2003/evaluation/sysreqs/default.mspx
http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx
http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx
http://www.microsoft.com/downloads/details.aspx?FamilyID=bbc16ebf-4823-4a12-afe1-5b40b2ad3725&DisplayLang=en (Vista Product Guide)
получен следующий список:
Windows NT 4.0 4 GB
Автор: grayfog
Дата сообщения: 03.08.2007 14:32

Цитата:
Я имею ввиду такое использование виртуальной памяти, чтобы оне не использовалась нах.

PapaKarlo

Цитата:
См. выше. Так в Windows, начиная с версии 3.1, не бывает! Кажется, еще версия 3.0 поддерживала даже на 80386 real mode, а вот последующие версии от этого отказались (странно, да? )

Я не говорю об устройстве менеджера памяти, о возможности напроч выкинуть из него алгоритмы виртуализации памяти, я гоорю о практичкской стороне:\

Дано: Комп Pentium-III "Katmai", i440bx, 768 MB RAM, Windows 98 SE со всеми хотфиксами.

1. В настройках виртуальной памяти есть опция отключить "виртуальную память". К чему это приводит не помю т.к. пробовал только раз и очень давно, необходимости в этом совершенно нет т.к. 768 MB не такая уж избыточная величина, плюс есть следующее решение.

2. В "system.ini" в разделе "[386enh]" добавляем строчку "ConservativeSwapFileUsage=1", перезагружаемся. Следим за использованием свопа - он всегда будет на нуле (а если вдруг память закончится (что очень маловероятно, по-этому постояное копирование в своп статистически не оправдвно) - то засвопится). Вот оно, счастье.

Добавлено:

Цитата:
Нельзя в Windows 98 отключить механизм виртуальной памяти, поверь мне.

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

Добавлено:

Цитата:
речь идет об оптимизации диска в Win98. Для дефрагментации файла выгрузки, который, естественно, заблокирован,



Цитата:
Для дефрагментации файла выгрузки, который, естественно, заблокирован, рекомендуется
Цитата:
При дефрагментировании жесткого диска не забудьте сначала отключить виртуальную память, иначе файл подкачки нельзя будет переместить или дефрагментировать, так как он постоянно используется


Бред.

Правильный алгоритм (для Windows 98) такой:

1. Ставим фиксированный на избыточной величине размер своп-файла.
2. Запускаем Norton SpeedDisk!
3. Делаем Full defragmentation.

В результате своп-файл будет аккуретненько последовательно уложен в начале диска и никогда более не будет фрагментирован или куда-либо перемещён.

Добавлено:

Цитата:
Уже здесь можно заметить явное логическое противоречие: "отключение" виртуальной памяти приводит к удалению файла выгрузки (в этом легко убедиться!), но удалять файл, который постоянно используется, несколько странно, не так ли?

Так ведь мы отключили то, что его использовало, и более он не используется.

Добавлено:

Цитата:
"отключение" виртуальной памяти приводит лишь к удалению файла выгрузки. Дело в том, что отключение механизма виртуальной памяти (в который входит постраничное отображение виртуального адресного пространства процесса на физическую память) приведет, помимо всего прочего

Вот это - да, к сожалению мало кто это понимает. По-этому я обычно говорю о механизме использования hdd вместо ram словами "своп", "своп-файл", "своппинг" а не "виртуальная память".
Автор: PapaKarlo
Дата сообщения: 03.08.2007 16:13
grayfog
Практически во всем с тобой согласен; может, я слишком много писал, чтобы достичь этого взаимопонимания, просто вопрос точной и одинаково понимаемой терминологии очень часто недооценивается, в результате возникают недоразумения, неправильное понимание и т.п. Кроме того, в этой теме участвуют и другие, а читает, возможно, еще больше людей, для которых некоторые мысли из нашей дискуссии могут быть откровением...

В чем я не совсем согласен:

Цитата:
Цитата:Для дефрагментации файла выгрузки, который, естественно, заблокирован, рекомендуется
Цитата:
При дефрагментировании жесткого диска не забудьте сначала отключить виртуальную память, иначе файл подкачки нельзя будет переместить или дефрагментировать, так как он постоянно используется

Бред.

Правильный алгоритм (для Windows 98) такой:

1. Ставим фиксированный на избыточной величине размер своп-файла.
2. Запускаем Norton SpeedDisk!


Приведенная мной цитата взята из online-руководства Microsoft, которое составлено для широкой массы пользователей, 99% которых вряд ли вообще пользуются дефрагментаторами, а 99% оставшегося процента пользуются штатным дефрагментатром Windows. Поэтому рекомендации MS по этому поводу бредом я не считаю. И то, что для решения некоторой задачи существует несколько путей, вовсе не означает, что только один из них правильный, а все остальные - бред. Жизненные ситуации, как правило, не могут быть описаны однобитным числом.
Автор: xxxDEATH
Дата сообщения: 04.08.2007 01:57

Цитата:
Можно выделить 1Гб под виртуальный диск и засунуть на него своп. Или воспользоваться драйвером фиктивного свопа из пакета Target Designer XP Embedded.
Но как отмечалось в статьях на эту тему: скорости это не прибавит...


Статьи статьями, но лично у мну эффект от использования финта с виртуальным диском - очень и очень весомый в повседневном сочетании работы\серфинга с постоянным висением в фоне винампа, нескольких ворд-документов и пары окон клиентов от браузерных игрушек.
Ноут (соответственно медленная дисковая подсистема и своппинг сильно напрягает) на Корке2 с 2гб оперативы, вирт. своп-диск на полгига - хватает, но с тяжелым софтом\гамами не тестил.

А так - даже долго свернутый винамп цинично засовывался в своп и при тяжелом скине мог требовать некоторого времени на подгрузку, не говоря уж об остальном...

Страницы: 1

Предыдущая тема: Квадраты вместо букв


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.