Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет dibr ([info]dibr)
@ 2010-03-28 19:13:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
windows такой windows
     Ставлю винду (XP+SP3) с проверенного дистрибутива на единственный раздел (разбивка/форматирование - при установке, до этого диск девственно чист) единственного в системе жёсткого диска. Угадайте, какой буквой оказался системный диск после установки?

     Ответ: буквой I:. Буквы C:, D:, E: и F: инсталлятор отдал USB-ридеру флэш-карточек системы "все-в-одном", а G: и H:, видимо офигев от собственной креативности - двум DVD-приводам. Поскольку система была свежепоставленной - плюнул, и переставил, вынув USB-ридер: системный диск стал, как и положено, C:

     До кучи:
      - винда (Win XP + SP3) не даёт создать pagefile размером больше 4Гб. Но даёт создать несколько pagefile по 4Гб на разных разделах, и нормально с ними работает (как я писал недавно, гуглхром у меня пошёл на рекорд, и сумел сожрать чуть более 9Гб памяти, поэтому такой объем виртуалки мне актуален). [UPD: http://support.microsoft.com/kb/237740/ru - спасибо [info]sharpc@lj!]
      - чтобы у пользователя был пароль, и этот пользователь автологинился в систему, в w2k достаточно было пошариться мышью в панели управления, настройка "пользователи". В WXP же, похоже, доступна только интуитивно-понятная каждому новичку команда "control userpasswords2", набираемая в "пуск"/"выполнить". Я её даже запомнил... на пару недель :-)
      - word 2003. При установке на одном компьютере, "область задач" была выключена из меню "вид", и больше не возвращалась. На втором компьютере (та же WXP, тот же дистрибутив офиса) - "область задач" упорно возвращалась, пока её не отключили в окне "параметры"/"вид" (а сколько времени ушло, пока догадались что эта настройка находится в двух разных местах)... Кстати, проверил - на первом компьютере галка "показывать панель задач" стоит, но панель задач не показывается :-) И, по слухам, это ещё не настоящий геморрой, настоящий геморрой с областью задач - здесь :-))
      - в ворде (2003) нельзя пометить кусок текста как "непереносимый", но можно расставить "неразрывные пробелы". А чтобы слова с дефисом внутри не переносились по дефису, недостаточно отключить автоматический перенос. Нужно расставить особые, непереносимые дефисы(!!!)
      - а в пауэрпоинте, оказывается, нет аттрибута "зачёркнутый" у шрифта. И "копипейстом" из ворда он тоже не переносится :-) Впрочем, в пауэрпоинте как чего хватишься, так того и нет...

     А фирма WD, чтобы народ не искал лёгкой жизни, рекомендует при работе под XP, после разбивки винта от WD на разделы, прогнать по нему спец. утилитку, грузящуюся с сидюка. Надеюсь, винт выживет...


(Добавить комментарий)


[info]denismajor@lj
2010-03-28 12:20 (ссылка)
«   »винда (Win XP + SP3) не даёт создать pagefile размером больше 4Гб.Auctor.

если дисковая система не NTFS или сама ОСь 32-битная, то нормальное поведение.

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 12:26 (ссылка)
[испуганно посмотревши на календарь] NTFS, конечно. В 2010 году, под виндой, да на терабайтных винтах как-то странно вспоминать про FAT.

А поведение "я могу использовать хоть 12Гб, но только кусочками не более чем по 4Гб на раздел" (что, кстати, вынуждает меня создавать раздел "специально под своп" - два пейджфайла на раздел нельзя, subst'овые "диски" не поддерживаются) - оно может быть и нормальное, но на мой взгляд всё-таки несколько анально-ориентированное.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 12:29 (ссылка)
ну так если 32-битная система, то какими циферками адресовать память в пределах одного файла более 4 Гб при условии, что на кусочки бить нельзя?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 12:39 (ссылка)
Теми же, которыми сейчас адресуется обычный файл более 4Гб размером, лежащий на NTFS, и которыми сейчас адресуются N различных pagefile'ов на сумму более 4Гб, лежащие на N разных разделах.

Даже если где-то в потрохах винды для удобства работы с pagefile вшито ограничение "один файл - одно 32-битное адресное пространство" (правда, непонятно, почему винде проще работать с N файлами размера "не больше", чем с одним файлом нужного размера), то ограничение "один раздел - один pagefile" ни из чего не следует, его просто так сделали, "потому что разработчик окна с настройкой так мышку держал".

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 12:42 (ссылка)
ну так pagefile - это файл виртуальной памяти, потому и адресное пространство там одно.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 12:47 (ссылка)
Так почему два файла (причём только на разных разделах!) - можно, а один большой - нельзя?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 12:48 (ссылка)
потому же, почему в FAT32 можно сделать два файла по 4 Гб, а один на 8 - нельзя.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 12:52 (ссылка)
Т.е., ответа не будет, я правильно понимаю?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 12:54 (ссылка)
по-моему, ответ исчерпывающий. внутри одного адресного пространства можно адресовать памяти не далее, чем разрядность ОС. Если 32 разряда, то соответственно 4 Гб - предел. не знаю как ещё подробнее объяснить

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 13:00 (ссылка)
Ответа не было.
Создать файл размером в 8Гб - можно.
Иметь несколько адресных пространств, по одному на файл - можно (собственно, так сейчас и реализовано).
Что мешает:
- иметь более одного адресного пространства на файл?
- иметь более одного файла на разделе?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 13:02 (ссылка)
pagefile- это не просто какой-то файл, это виртуальная память. файл может быть разбит как угодно на сколько угодно кусков - это проблема файловой системы. но ОС работает с памятью, так вот один раздел памяти не может быть более 4 Гб в 32-разрядных ОС. а на какой физический носитель эта память записывается - вообще не важно.

иначе б и оперативку можно было спокойно более 4 Гб ставить.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 13:17 (ссылка)
Менеджер виртуальной памяти в данном случае работает с FS. Если он может работать с двумя файлами по 4Гб, то он очевидно может работать и с одном файлом в 8Гб - FS ему в этом не мешает, разрядность адресного пространства в этом месте уже не роляет (если бы роляла - он не смог бы работать и с двумя файлами по 4Гб).

Но даже если у менеджера виртуалки есть "конструктивное" ограничение на объем одного файла (ну вот так его написали более десяти лет назад, и править уже не будут) - не вижу причин запрещать иметь два файла на раздел. Или это тоже ограничение 32-битности?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]mc6312@lj
2010-03-28 14:40 (ссылка)
Подозреваю, что это ограничение того апплета панели управления, который своп настраивает.
Потому как руками через реестр (HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles) наверняка (не пробовал) можно хоть три свопа на один раздел затолкать.
Или засовать своп на раздел без буквы, примонтированный к какому-нибудь каталогу. Оно красиво, но бесполезно на машинах новее Р-III, и я такой дурью баловаться бросил.

Кстати, обрадую еще одной милой особенностью винды: если на С: нет свопа (хоть минимального размера), то винда не сможет создать дамп, если вдруг захочет показать BSOD. Впрочем, и со свопом на С: тоже не всегда создает.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 14:48 (ссылка)
Йес, так оно и есть.
В меня уже кинули ссылкой (http://support.microsoft.com/kb/237740/ru), я уже настроил, перегрузился, и наслаждаюсь 18Гб виртуалки (правда, нафига мне столько) :-)
Сейчас ещё раздел убью...

> то винда не сможет создать дамп, если вдруг захочет показать BSOD

А зачем он нужен, дамп этот, простому пользователю? Выслать его микрософту? Не думаю, что меня это сильно расстроило бы...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]mc6312@lj
2010-03-28 14:56 (ссылка)
Например, можно хлестать обоссаным дампом по роже техподдержки Dr'Web'а, когда их чудо копрософтостроения уронит винду при загрузке. Если дамп создастся... на днях вот упорно не создавался, а сервис самозащиты уеба dwprot.sys исправно ронял несчастную семерку в BSOD еще _до_ того этапа, когда она была способна создать дамп.
В дамп можно еще слазать самому (где-то в недрах микросайта есть kernel debugging tools с анализатором дампов, и их даже дают скачать), дабы посмотреть, кто именно уронил несчастную колченогую мастдайку. Как-то раз это привело к сносу агнытум аутпоцта (который ронял) и установке комоды (которая почему-то не роняет, по крайней мере на доступных мне машинах).

(Ответить) (Уровень выше)


[info]rain251@lj
2010-03-29 04:05 (ссылка)
дамп нужен не только мелкомягким. с меня его затребовали как-то агнитум оутпост, когда оно падало при загрузке в синий. и оперативненько определили причину..

(Ответить) (Уровень выше)


[info]ilya_314@lj
2010-03-28 16:41 (ссылка)
Это утверждение неверное, т.к. существует маппинг страниц в пространство адресуемое непосредственным доступом по адресу, существует возможность иметь страниц больше чем объем адресуемой памяти.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 16:42 (ссылка)
ну да, такое применяется, например, в серверных версиях винды. поэтому там и на 32-битных системах можно памяти больше ставить, правда единовременно любому процессу доступно не более 1 Гб. но в "домашних" такого нет.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 16:52 (ссылка)
"Скрипач думает на языках, продолжения которых не знает"(с) :-))

А что, тот "хомяк" (WinXP Home Edition), который у меня на ноуте стоит - он уже серверная версия винды? Вот только что поставил ему 8Гб свопа (двумя файлами) - и ничего, съел, показал общий объем памяти 9Гб...

> правда единовременно любому процессу доступно не более 1 Гб

[зевая] до 2Гб. А если в boot.ini ключик /3G написать - то до 3Гб...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 17:34 (ссылка)
«   »что, тот "хомяк" (WinXP Home Edition), который у меня на ноуте стоит - он уже серверная версия винды? Вот только что поставил ему 8Гб свопа (двумя файлами) - и ничего, съел, показал общий объем памяти 9Гб...Auctor.

вообще-то я говорил про физическую память.

(Ответить) (Уровень выше)


[info]ilya_314@lj
2010-03-28 16:59 (ссылка)
На серверных системах есть механизм поддерживаемый CPU и чипсетом, который позволяет использовать >4GB RAM системой. Но даже если не задействовать этот механизм, то все-равно суммарный объем виртуальной памяти всех процессов может намного превышать 4GB, об этом я и пытался сказать. Например я сейчас смотрю в своей системе Commit Charge Limit = 8.2 GB - это сколько реально может быть отдано под использование процессами. Система Windows XP SP3 x86.

Насчет 1Gb - неверная информация. Везде процессу доступно 2gb в 32-битной системе, но есть ключ /3gb в boot.ini, который дает каждому процессу 3gb. Это работает и в серверных и не серверных системах, просто в серверных возможно по умолчанию он активирован.

(Ответить) (Уровень выше)


[info]aceler@lj
2010-03-28 12:55 (ссылка)
Тут как раз всё понятно — потому что на один файл выделяется, видимо, одна таблица дескрипторов (или что там вместо неё). Почему два файла на одном разделе нельзя — вот вопрос.

(Ответить) (Уровень выше)


[info]ilya_314@lj
2010-03-28 16:38 (ссылка)
Адресное пространство одного процесса ограничено 4 GB(теоретически, а практически в xp - 2GB), но процессов много и суммарно они могут занимать больше памяти.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 16:41 (ссылка)
Суммарно - эт. мы понимаем, хром нам это даёт в ощущениях...
...ты вот лучше скажи, пока мы в длинном треде и нас со стороны плохо видно. Что можно Наташе подарить на её д.р.? А то ведь подарю очередной фонарик, и мучайтесь с ним а на большее фантазии не хватит ;-))

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ilya_314@lj
2010-03-28 17:11 (ссылка)
Так это я не тебе пытаюсь втолковать, но вообще чего-то я притомился уже втолковывать.

Насчет подарка, я подумаю, сразу не могу что-то предложить.

(Ответить) (Уровень выше)


[info]dibr@lj
2010-03-28 12:40 (ссылка)
> условии, что на кусочки бить нельзя?

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

(Ответить) (Уровень выше)


[info]aceler@lj
2010-03-28 12:43 (ссылка)
А почему нельзя два файла на раздел, тоже непонятно.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 12:44 (ссылка)
неэффективно ибо.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]aceler@lj
2010-03-28 12:46 (ссылка)
ээээээээ?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 12:47 (ссылка)
по идее, винда вообще не должна позволять размещение двух файлов подкачки на одном физическом носителе.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 12:51 (ссылка)
Заставлять создавать _раздел_ только для того, чтобы разместить на нём _ещё один_ pagefile - это, конечно, офигенно эффективно :-/

Да, два pagefile на одном физическом носителе - это несколько странно. Но что делать, если винда _не даёт_ создать один pagefile нужного размера (хотя никаких технических ограничений на это нет), и даже не позволяет создать два pagefile на одном разделе?
Ты таки настаиваешь, что один pagefile на 8Гб "менее эффективен" чем два pagefile по 4Гб на двух _разделах_ одного носителя? А почему, простите?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 12:52 (ссылка)
я настаиваю на том, что 32-разрядная система это архаизм во всех смыслах. смысл пенять на её ограничения? лет через 10 может и 64 бит будет мало.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 12:57 (ссылка)
То есть, с тем, что описанное выше мной - не фундаментальное ограничение 32-битности, а просто-напросто кривизна конкретной реализации, ты всё-таки согласен?

А насчёт архаичности... пока у меня всего 2Гб физической памяти - 32 бита не сильно стесняют. А с софтом под 64 бита пока не настолько безоблачно, чтобы спокойно переходить на 64-битныю ОС и не знать проблем...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 13:00 (ссылка)
«   »о есть, с тем, что описанное выше мной - не фундаментальное ограничение 32-битности, а просто-напросто кривизна конкретной реализации, ты всё-таки согласен?Auctor.

нет конечно. я и пытаюсь убедить тебя, что это фундаментальное ограничение 32-битности.

«   »А с софтом под 64 бита пока не настолько безоблачно, чтобы спокойно переходить на 64-битныю ОС и не знать проблем...Auctor.

не совсем понимаю суть проблемы. под 64-битную ОСь прекрасно работает подавляющее большинство 32-битных приложений, за исключением, разве что, драйверов - ну так это логично.

«   »пока у меня всего 2Гб физической памяти - 32 бита не сильно стесняют.Auctor.

дык смысл перехода на 64 разряда не только в памяти. тем более, что размер виртуальной памяти (в том числе в твоём случае) требуется немалый.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 13:09 (ссылка)
> нет конечно. я и пытаюсь убедить тебя, что это фундаментальное ограничение 32-битности.

Давай-ка по порядку.

Иметь общий объем pagefile в 8Гб - можно, это уже реализовано, могу выслать скриншот таскменеджера. Но реализовано - в виде двух pagefile по 4Гб каждый.

Я не вижу _технических_ проблем "слить" два pagefile в один - ntfs это позволяет, читать-писать менеджеру памяти пофиг куда.

Даже если текущая реализация менеджера памяти сделана так, что в одном pagefile всё адресуется 32 битами, и что-то менять уже слишком сложно - не вижу проблем хотя бы расположить эти два pagefile на одном разделе. Однако, этого сделать нельзя - только на разных разделах.

Вместо ответов "почему нельзя расположить их на одном разделе" я слышу довольно странное слово "неэффективно".

Объясни, пожалуйста:
1) почему невозможность создания двух pagefile на одном разделе (при возможности их создания на разных разделах) является "фундаментальным ограничением 32-битности", а не долбо$бизмом программистов MS,
2) почему, как ты утверждаешь(!), создание двух pagefile на двух разных разделах более эффективно, чем создание двух pagefile на одном разделе. А ты утверждаешь именно это, поскольку два pagefile на одном разделе - альтернатива именно двум pagefile на двух разделах.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 13:44 (ссылка)
«   »1) почему невозможность создания двух pagefile на одном разделе (при возможности их создания на разных разделах) является "фундаментальным ограничением 32-битности", а не долбо$бизмом программистов MS,Auctor.

ты извини, но я не могу поверить в долбоебизм программистов, разработавших самую популярную в мире ОС, обладающую высокой надёжностью, совместимостью с практически любым железом и т.п.

«   »2) почему, как ты утверждаешь(!), создание двух pagefile на двух разных разделах более эффективно, чем создание двух pagefile на одном разделе. А ты утверждаешь именно этоAuctor.

я это не утверждаю. я утверждаю, что эффективнее размещать на разных физических дисках, а не разных разделах.

«   »не вижу _технических_ проблем "слить" два pagefile в один - ntfs это позволяет, читать-писать менеджеру памяти пофиг куда.Auctor.

менеджер памяти работает с областью памяти не более 4 Гб. как работает файловая система ему вообще пофиг - это совершенно другое.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 14:08 (ссылка)
> ты извини, но я не могу поверить в долбоебизм программистов [...]

Хорошо, забираю назад "долбоебизм", заменяю на "некоторую недальновидность" :-)
Есть ли у тебя объяснения, почему столь прекрасные программисты написали ОС, нормально работающую с двумя pagefile на двух разделах, но не позволяющую работать с двумя pagefile на одном разделе, кроме их "некоторой недальновидности" (ну, или прямого заказа отдела маркетинга: "сделайте это максимально через жопу, кому надо пусть покупают 64-битную винду")?

> я это не утверждаю. я утверждаю, что эффективнее размещать на разных физических дисках, а не разных разделах.

Однако диск-то у меня один, я это сразу сказал. А винда заставляет меня создавать на единственном диске дополнительные разделы только для того, чтобы расположить там pagefile. И на очевидный вопрос, "почему бы не позволить мне расположить их на одном разделе, всё равно носитель-то один"? я получил восхитительный и лаконичный ответ: "неэффективно".
Откуда вдруг взялся второй носитель? Его в задаче не было. А если твой ответ на другой вопрос - то значит ответа на вопрос "почему нельзя два pagefile на одном разделе" - тоже не было.

> менеджер памяти работает с областью памяти не более 4 Гб. как работает файловая система ему вообще пофиг - это совершенно другое.

Менеджер памяти работает с файлом через FS (с файлом, а не с областью памяти, создать из файла "область памяти" - это задача, решаемая менеджером памяти, а не Великая Данность). FS большой файл иметь позволяет, менеджер памяти с большими объемами файлового пространства в виде двух файлов работает. Нет проблем в менежере памяти вместо обращения к "файлу2 в позиции N" написать обращение к "большому_файлу1 в позиции N+const" - файловое API, в отличие от "арифметики указателей", 64-битное, оно такое съест.
Единственное объяснение, почему нельзя большой файл - что когда писали менеджер памяти для NT (а это было почти 20 лет назад!) - заложились на то, что файлы всё равно не бывают больше 4Гб (кстати, тогда это вполне вероятно было даже верно), а потом было слишком проблемно переписывать.

Но вопрос "почему нельзя два файла на одном разделе" это не снимает. Мой ответ - "потому что те программисты, которые делали эту _настройку_ в панели управления, предусмотрели задание "буквы", но не предусмотрели задание _имени_ файла подкачки". Изменить это микрософт, думаю, может без проблем. Только ему это нафиг не надо...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 14:13 (ссылка)
не, ну конечно если заранее известно, что юзер работает только с NTFS и никак иначе - то пожалуйста. а если возникнет срочная необходимость перенести своп на другой раздел? да мало ли что может возникнуть.

Винда тем и отличается, что порой некоторые "косяки" случаются не случайно, а именно ради большей совместимости. Потому винда и самая совместимая ОС, потому что её программисты предусмотрели уйму вариантов, в отличие от опенсурсных линуксоидов, которые пишут под ту машину, на которой сами работают.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 14:24 (ссылка)
> а если возникнет срочная необходимость перенести своп на другой раздел?

[хлопая глазками] своп, тащемта, не _переносится_ (ну, в виндах не переносится, технически это реализовать можно, но нужно немногим чаще чем "горячая замена процессора" - кстати, есть на некоторых мейнфреймах). Он убивается "там" (с перезагрузкой, до перезагрузки винда своп "не отпустит"), и создаётся заново "здесь".
А если юзер ввёл "8000", а FS позволяет только 4000 - плюнуть окошком "низя, тока на ntfs". Сейчас ведь проверяется, например, свободное место, и дают создать своп не более чем (freespace)-5Mb...

Поэтому предлагаю ориентироваться на максимальный размер свопа в 360 кбайт. Вдруг кому понадобится "перенести своп на 5.25 DS/DD дискету" :-)))

P.S: только что кинули ссылку: http://support.microsoft.com/kb/237740/ru
По ней легко видеть, что описанное мной ограничение - чисто "мышевозное", правкой реестра можно добиться создания нескольких pagefile в одном разделе. То есть, ограничение - в апплете "панели управления", а не в менеджере VM.
/thread?

(Ответить) (Уровень выше)


[info]mc6312@lj
2010-03-28 14:48 (ссылка)
> я не могу поверить в долбоебизм программистов, разработавших самую популярную в мире ОС

Я прямо плакал весь. 232 мух не могут ошибаться?
Опять же, над программистами (действительно не самыми плохими) сидит огромная толпа менеджеров, маркетолухов и прочей нечисти. И уж в их-то долбоебизме, переходящем в дебилизм, сомневаться странно.
Куча ограничений винды происходит не от железа или недосмотра программистов, а от жлобства их руководства.

(Ответить) (Уровень выше)


[info]aceler@lj
2010-03-28 12:54 (ссылка)
Так вот я и спрашиваю — почему?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 12:55 (ссылка)
потому, что информация с жёсткого диска не может считываться одновременно из двух разных мест. по крайней мере, расположенных в разных частях пластин.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]aceler@lj
2010-03-28 12:57 (ссылка)
И что? Ну считаются они по очереди, какая разница. Другим ОС это не мешает.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 12:57 (ссылка)
снижение производительности. возможно, другим ОС на это пофиг.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 13:12 (ссылка)
Вообще-то, оптимальным было бы создание одного pagefile (на один физический носитель). Технически это, повторюсь, вполне реально.
Но нам дают создавать только по одному pagefile ограниченного размера на раздел, вынуждая плодить _разделы_ под небольшие pagefile. Неужели то, что "информация с жёсткого диска не может считываться одновременно из двух разных мест", ухудшает производительность только для одного раздела, а с двух разных разделов одного носителя информация читается быстрее, чем с одного?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]denismajor@lj
2010-03-28 13:38 (ссылка)
«   »ухудшает производительность только для одного раздела, а с двух разных разделов одного носителя информация читается быстрее, чем с одного?Auctor.

нет. по этому поводу я написал выше

(Ответить) (Уровень выше)


[info]sharpc@lj
2010-03-28 14:10 (ссылка)
http://support.microsoft.com/kb/237740/ru (http://support.microsoft.com/kb/237740/ru)

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 14:16 (ссылка)
> "Данное ограничение обусловлено сопоставлением страниц, которое используется на процессорах x86.
> Эти процессоры не могут обрабатывать большее количество страниц в одном файле подкачки. "

facepalm.jpg
Впрочем, тут явно видны уши переводчиков с технического на маркетинговый.

> Найдите и дважды щелкните значение параметра Pagingfiles, чтобы открыть его.
> Удалите все имеющиеся значения и введите значения, приведенные ниже.
> c:\pagefile1\pagefile.sys 3000 4000
> c:\pagefile2\pagefile.sys 3000 4000
> c:\pagefile3\Pagefile.sys 3000 4000

Йес, йес, йес!!!
Спасибо, то что надо! Пошёл править :-)))

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sharpc@lj
2010-03-28 14:34 (ссылка)
Видимо, имеется ввиду механизм, по которому в защищенном режиме x86 определяет физический адрес 4КБ-страницы по логическому. Количество страниц не может быть больше 2^20, и чтобы не писать отдельный код для свопинга то же ограничение на количество страниц наложили и на своп.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 14:42 (ссылка)
Процессор не работает с файлом, как ты его не крути - а у них написано именно это :-) С файлом работает VMM, и этот VMM, как мы видим, таки умеет работать с N файлами общим объемом более 4Гб, и разбираться какая страница легла в какой файл. Ну, и соответственно - если ограничено количество страниц, значит при N файлах страница будет больше, всего-то.

Так что налицо "особенность реализации VMM", которую пытаются приписать особенностям процессора :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sharpc@lj
2010-03-28 15:11 (ссылка)
Проц не находит страницу в физической памяти, кидает PageFault. Винда ловит номер страницы и грузит ее из свопа, а точнее через дескриптор файла свопа в LDT процесса. Номер страницы не больше 220, размер страницы опять же железкой ограничен 4КБ, хранить на каждой странице в свопе больше 4КБ глупо. Если своп один для пачки процессов, определять, какой процесс через один и тот же дескриптор свопа доступается к памяти подкачки и подсовывать разные 4ГБ-куски этого свопа — замедлять и без того не быстрый процесс.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 15:28 (ссылка)
Всё равно не очень понятно. 220 - это ограничение процессора, как и 4кб? То есть получается, что единственно возможная нарезка 4Гб на страницы - это 220 страниц по 4кб (раз ни число страниц, ни их размер, увеличить нельзя)? Мне-то казалось, что тут есть некоторая свобода...

Если так, то да: в каком-то смысле это ограничение процессора. Хотя на самом деле никто не мешает даже в этом случае использовать при подкачке вместо "страницы N в файле_К.sys" - "страницу N+const в едином_файле.sys" :-) На производительности это сказаться не должно - вместо разных дескрипторов файла подкачки будут разные смещения в едином файле покачки :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sharpc@lj
2010-03-28 15:35 (ссылка)
Везде я видел именно такую схему: 20 бит логического адреса на индексы таблиц физических адресов, 12 бит на номер байта внутри страницы. Действительно, можно добавить в EPROCESS еще одно поле с номером 4ГБ-куска внутри свопа, каждый раз к нему обращаться и вычислять, откуда на самом деле надо читать, однако, видимо, решили, что раз работает, лучше не трогать, и что создать несколько свопов будет удобнее, если вдруг лет через 20 придумают Хром :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 15:43 (ссылка)
Видимо, действительно так: когда всё это писалось (win nt 3.x, почти 20 лет назад!), 4Гб на файл подкачки было более чем достаточно. Ну, а потом было уже поздно переписывать - VMM штука тонкая, работает - не трогай, тем более что workaround есть :-)

(Ответить) (Уровень выше)


[info]ilya_314@lj
2010-03-28 16:20 (ссылка)
Кстати, если у тебя 4 GB RAM и если включишь PAE, то обрати внимание на размер доступной памяти, может станет доступно все 4 gb?

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 16:34 (ссылка)
У меня 2Гб (я пока всё на старом компьютере сижу, но уже мечтаю об апгрейде).
Но что-то мне не верится в 4Гб доступной (приложениям?) памяти в 32-битной винде. Там же верхний ~гиг подо что-то служебное использован...

Вот система все 4Гб физической вполне возможно утилизировать сможет :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ilya_314@lj
2010-03-28 17:03 (ссылка)
У меня 4, система может использовать 3406828 K.
Я спросил, потому что в приводимой тобой статье
http://support.microsoft.com/kb/237740/ru
есть указание, как активировать PAE. Просто я помню, что обойти эту дыру в памяти можно лишь задействовав PAE, вот и подумал, что вдруг всю память удастся задействовать. Я может это сам и проверю.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 17:07 (ссылка)
А, в этом смысле.
Ну, я это проверю не раньше чем новый компьютер куплю (в этот память добивать смысла нет) :-)
Или ты проверь, в самом деле :-)

(Ответить) (Уровень выше)


[info]pozitronik@lj
2010-03-28 17:11 (ссылка)
Для висты с семёркой есть патчик, разблокирующий доступ к памяти >3Gb, доступных обычно. То есть, как я понял, эти операционки изначально поддерживали до 128 гигов памяти (а именно столько заявлено в ридми патча), но в десктопных x32 версиях искуственно установили ограничение.
Я тот патчик поставил, и действительно, все четыре гига увиделись. Но возникли проблемы со звуковухой - она начала жутко пищать, потому я не стал проверять, доступна эта дополнительная память приложениям.
Надо будет заморочиться пожалуй.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]pozitronik@lj
2010-03-28 19:19 (ссылка)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 19:48 (ссылка)
Чё-то это. Оптимизма не внушает :-) Похоже, в отличие от ключика 3G, с которым у меня никаких проблем нет, тут всё намного геморройнее (и не факт что оно в общем случае вообще работает - некоторым устройствам в самом деле нужно сидеть в основном адресном пространстве, и что с этим делать - неясно).

Поэтому я пожалуй подожду, пока 64-бит версии станут пригодны для обычной бытовой работы :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]pozitronik@lj
2010-03-29 00:59 (ссылка)
Да не, не геморройнее. Тупо запускаешь екзешник, остальное он делает сам. А вот с устройствами - да, проблемы могут быть.
А ключ /3GB, если не ошибаюсь, просто перераспределяет доступную процессу напрямую память (уменьшая системное адресное пространство приложения до гига).

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-29 01:51 (ссылка)
Я именно про проблемы. Главная неприятность подобных хаков - что их сделал, убедился что "вроде всё работает", через неделю забыл что вообще что-то такое настраивал... и когда очередная программа или устройство вдруг отказываются работать со странными симптомами - валишь всё на глючность программы/дивайса. А оно вполне возможно связано с той самой настройкой...

> А ключ /3GB, если не ошибаюсь, просто перераспределяет доступную процессу напрямую память (уменьшая системное адресное пространство приложения до гига).

Вроде бы да. Но, говорят, бывают программы, в которых, программисты, грубо говоря, используют для указателей "целое со знаком", и когда указатель переваливает за 2Гб и становится отрицательным - начинаются спецэффекты. Это ошибка в программе, но без /3G такая программа с ошибкой работает, а с /3G - может упасть...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ilya_314@lj
2010-03-29 02:21 (ссылка)
Что касается дыры в 4-ом гигабайте - то там действительно не все драйвера корректно работают, поэтому этот маппинг используется только в серверных вариантах. Про это где-то у них читал - мол есть проблемы с совместимостью, которые на серверах не так остро стоят, там видимо по другому дрова сертифицируют.

Что касается /3GB, то там кроме того, что ядро должно быть с активированной опцией сам процесс должен иметь специальный флаг в заголовке exe-шника. Это ключ линкера, который по дефолту вырублен. Но его конечно можно легко прописать руками с помощью утилитки из VS.

Если мне не изменяет память, то ограничение 2GB уходит корнями в windows95, где под файлы отображаемые в память выдавался 3-ий гигабайт, потом такое ограничение сняли. Вроде как это тоже одна из причин по которой могли оставться несовместимости.

И еще - в windows x64 для 32-битных процессов отводится уже реально 4GB в случае наличия опции в exe, т.е. эффект аналогичен /3gb, только естественно в ядре уже ничего активировать не нужно, только флаг в процессе.

На работе вот добили систему до 6gb, скоро win7 x64 поставлю второй системой, очень интересно насколько все это будет совместимо, пора бы уже переползать туда.

(Ответить) (Уровень выше)


[info]ilya_314@lj
2010-03-28 16:27 (ссылка)
У тебя видимо диски WD EARS который имеет размер сектора 4K, нативно они только в windows 7 (в висте тоже наверное поддерживаются), а в xp будут помедленней работать в режиме эмуляции 512 секторов. Ну ты наверное уже в курсе этой фигни.

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 16:36 (ссылка)
Они подробностей не пишут (про 4кб сектор услышал от тебя), пишут только что нужно прогнать спец. софтину :-)
Софтину я прогнал, стало ли лучше - не знаю :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ilya_314@lj
2010-03-28 17:05 (ссылка)
Ну ты на эту тему можешь просветиться, это вот такое новое изобретение, как сократить служебную инфу на диске. Вобщем верный шаг, они это дело компенсируют усилением коррекции ощибок.

http://www.fcenter.ru/online.shtml?articles/hardware/hdd/28121

Проматывай до раздела advanced format.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2010-03-28 17:08 (ссылка)
Понятно, спасибо :-) Поизучаю, что за фигня такая у меня используется... :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ilya_314@lj
2010-03-28 17:23 (ссылка)
Вот кстати на thg отдельная статья по этой новой фиче:

http://www.thg.ru/storage/wd_4k_sector/print.html

(Ответить) (Уровень выше)


[info]pj2k@lj
2010-03-28 18:55 (ссылка)
Хо-хо, буквально позавчера нарвался на ту же бяку с картридером.
Системный диск стал H:
Тоже переставлял винду.

Кстати... кто-то помнит, как поставить винду в каталог, отличный от \windows ?

(Ответить) (Ветвь дискуссии)


[info]sharpc@lj
2010-03-29 03:31 (ссылка)
При установке можно задать.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Но как?
[info]pj2k@lj
2010-03-29 06:33 (ссылка)
У меня была дока по ключам Win 98 (в т.ч. по слабо документированным, типо /p j)(кстати - http://support.microsoft.com/kb/186111), но с XP эти трюки не проходят.

(Ответить) (Уровень выше)


[info]demon_nn@lj
2010-03-29 06:32 (ссылка)
Весело у вас тут :)

З.Ы.
На работе 7ка 64бит на 6ти гигах. Полет нормальный.
Дома - Убунта уже скоро 2а года. Там тоже есть интересные грабли. Очень понравились такие:
Автологон легко включается и выключается мышкой. Однако он распространяется только на систему и не работает на "брелок" (хранилище всяких паролей), в котором по умолчанию пароль тот-же самый, что и у пользователя. В результате при автологоне первый-же автостартующий мессандежр, пытаясь вылезти в сеть и зарегистрироваться, выплевывает диалог логона в "брелок". :)
На данный момент легко лечиться пустым паролем в брелке, что, на самом деле, не есть гуд.

(Ответить)