PDA

Показать полную графическую версию : [решено] Файл подкачки (все вопросы)


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24 25 26

Psih-ya
03-12-2013, 19:09
откройте на своем компике RamMap »
Runs on:
Client: Windows Vista and higher.

Конфигурация:
ОС: Windows XP Prof. x64 »

Как видите, не могу.

Efir
03-12-2013, 20:31
Как видите, не могу. »

как-то не глянул ваш конфиг. В 5 версии ядра, конечно, цифры кешированных данных будут на порядок меньше, т.к. нет суперфетча, который принудительно загружает файлы, расширяя Standby список. И счетчики, которые хранят размер страничных списков, не являются публичными. И посмотреть Standby и Modified списки помоему можно только через отладчик, если не ошибаюсь. Ну да ладно.

вот сервер 2003 запущенный на виртуальной машине с 512Мб озу. Только Stanby список здесь показан общий, сюда входят не только MMF файлы, но и копии данных в страничном файле, как приватные так и общие.

http://i01.overclockers.ru/exbzspazydk6h67iunvzcjg14wunzqlr/vr4oxanqbtoipzby.jpg

Psih-ya
03-12-2013, 22:46
В 5 версии ядра, конечно, цифры кешированных данных будут на порядок меньше, т.к. нет суперфетча, который принудительно загружает файлы, расширяя Standby список. »

Если долго и интенсивно работать, то кеш в памяти ровно так же занимает всю свободную оперативную, как в этих 6.0 и далее.
Сужу правда по стандартному диспетчеру задач, когда "Системный кэш" был больше, чем "Доступно". Правда меня смущает дикая разница в показаниях диспетчера задач и Process Explorer.

вот сервер 2003 запущенный на виртуальной машине с 512Мб озу. »

Уверены? Ибо:
Client: Windows Vista and higher.
Server: Windows Server 2008 and higher.

Если можно запустить на 2003 сервере, то можно и на ХР х64, ядро то одно. Или это другая утилита?

Efir
03-12-2013, 23:01
Если долго и интенсивно работать, то кеш в памяти ровно так же занимает всю свободную оперативную, как в этих 6.0 и далее »

Это уже чуть другой вопрос, не об отношении модифицированных данных к немодифицированным и кстати я не дорассказал почему отношение именно такое, т.к. тема сложна, для многих не является очевидным. Что касается нового вопроса, то вы не поняли сути механизма упреждающего кеширования. Когда вы долго и интенсивно работаете, каждое очередное обращение к новым данным, требует ожидания чтения с диска и только после первого доступа данные будут кешированы. При упреждающем кешировании, большая вероятность, что при обращение в какой-то момент времени к новым даным, они уже будут в озу, т.к. суперфетч их загрузил.


Сужу правда по стандартному диспетчеру задач, когда "Системный кэш" был больше, чем "Доступно". Правда меня смущает дикая разница в показаниях диспетчера задач и Process Explorer »

о каких цифрах речь, покажите, я поясню. Они скорее всего показывают разные счетчики.

Уверены? »

это данные через отладчик взяты. RamMap, да, действительно не работает на версиях меньше 6.

Psih-ya
03-12-2013, 23:40
При упреждающем кешировании, большая вероятность, что при обращение в какой-то момент времени к новым даным, они уже будут в озу, т.к. суперфетч их загрузил. »

При долгой работе с одними данными они всё равно будут в кэше.
Я винду редко перезагружаю, пользуюсь ждущим режимом. Так что думаю всё давно осело в кэше.

Они скорее всего показывают разные счетчики. »

Это очевидно.
Вот скриншоты рядом:
http://imageshack.com/a/img10/641/nqxx.png
Просто в остальных показаниях они сходятся.

это данные через отладчик взяты. »

Нда, я поленюсь его ставить/ откапывать стандартный.

Efir
04-12-2013, 00:46
При долгой работе с одними данными они всё равно будут в кэше »

чтобы данные кешировались к ним достаточно обратиться один раз, механизм называется кеширование при чтении. Механизм упреждающего кеширования появился в виста на заре дешевой памяти и медленных еще HDD дисков, по сути является балансом. Если XP работает на какой-нить быстрой дисковой подсистеме, типа ссд, то да, упреждающее кеширование может не сыграть большого значения, если же на HDD, то лучше ядра с таковым механизмом. Возможно, что в какой-нибудь 10-й версии виндовс, когда ссд диски будут в 5 раз быстрей и в 10 раз дешевле, от этого упреждающего кеширования снова откажутся. У XP в любом случае, независимо от отсутсвия подобного механизма, не лучший memory managment.

Вот скриншоты рядом: »

Process Explorer показывает файловый кеш. Это те файлы, доступ к которым осуществляется функциями ReadFile\WriteFile, тобишь функциями файлового ввода\вывода, а кеширование и когерентность осуществляется компонентом исполнительной системы Cache Manager. Лень искать какие счетчики показывает диспетчер задач и что они включают, но судя по числу, это точно StandBy список + Modified список + возможно и файловый кеш, но не факт.

Нда, я поленюсь его ставить/ откапывать стандартный »

на работающей системе посмотреть все равно нельзя, нужна ядерная отладка, через компорт, пайп или сеть.

Psih-ya
04-12-2013, 01:09
Если XP работает на какой-нить быстрой дисковой подсистеме, типа ссд »

Собственно у меня так.

У XP в любом случае, независимо от отсутсвия подобного механизма, не лучший memory managment. »

По мне так наоборот. На висте и далее потребление одних и тех же программ выросло, вроде как меньше совместно используемых модулей. Даже диспетчер по умолчанию в висте и далее показывает частный рабочий набор вместо полного, который был в ХР. Наверное чтобы не пугать народ объёмами расходуемой памяти ))
В восьмёрке обратно переделали, обобщим модули, сократив потребление.
В общем ничего однозначного, механизм передирают через версию.
И да, тесты показывают, что ХР чуточку, но быстрее. Хотя разница в пределах погрешности.

Efir
04-12-2013, 01:40
Даже диспетчер по умолчанию в висте и далее показывает частный рабочий набор вместо полного, который был в ХР. Наверное чтобы не пугать народ объёмами расходуемой памяти )) »

В виста можно выбрать и полный и частный насколько я помню. Какая по вашему между ними разница?

На висте и далее потребление одних и тех же программ выросло, вроде как меньше совместно используемых модулей »
В восьмёрке обратно переделали, обобщим модули, сократив потребление. »

о каких совместно используемых модулях речь?

По мне так наоборот. На висте и далее потребление одних и тех же программ выросло, вроде как меньше совместно используемых модулей »

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

Psih-ya
04-12-2013, 17:18
В виста можно выбрать и полный и частный насколько я помню. »

Главное- что по умолчанию.

Какая по вашему между ними разница? »

Частный- без разделённых модулей, полный- вся используемая память.

о каких совместно используемых модулях речь? »

Дллки, может ещё что. Видел в презентациях от МС. Сначала гордились, что в висте их меньше, мол, безопаснее, потом в восьмёрке гордились противоположным, мол, снизили потребление памяти.

Все, что я рассказываю, наверно, тяжело для понимания, »

Да вроде нет. Что по вашему я не понял?

Laim93
05-12-2013, 19:39
Здравствуйте не знал в какой теме задать вопрос
http://jpegshare.net/images/86/6a/866af98670cc6881debc1c32af2d5607.jpg (http://jpegshare.net/)
что значит кэшировано?
что такое доступно что такое свободно?
чем отличается доступно от свободно?
что значит 1,21 под столбиком?

Efir
07-12-2013, 19:36
что значит кэшировано?
что такое доступно что такое свободно?
чем отличается доступно от свободно? »

можете прочитать на предыдущей странице

что значит 1,21 под столбиком? »

Цифра под столбиком показывает занятую память + часть кешированной памяти, которая модифицирована. Кешированную память, которая модифицирована, нельзя передать в пользование, пока содержимое не будет переписано на диск. Если открыть Монитор Ресурсов, то значение под столбиком это сумма двух чисел в красном прямоугольнике. Оранжевый это кешированная память. Зеленый это доступная память. Синий это свободная память.

http://i01.overclockers.ru/exbzspazydk6h67iunvzcjg14wunzqlr/htbdirl8kimwfolk.jpg

Demetriadis
08-12-2013, 11:03
Здравствуйте!
Что такое выгружаемый и невыгружаемый пул? Для чего он нужен? Как работает?
Как он связан с файлом подкачки? Может ли он оптимизировать работу ФП?
Если не в тему, то прошу перенести.

Efir
08-12-2013, 13:25
Что такое выгружаемый и невыгружаемый пул? Для чего он нужен? Как работает? »

Пул это динамически выделяемая память, которой пользуется ядро и драйверы. Данные в выгружаемом пуле, могут сбрасываться в подкачку, в невыгружаемом всегда находятся в озу. Невыгружаемый пул существует потому, что драйверы и ядро могут работать на повышенных уровнях IRQL, на которых страничный сбой, который приведет к перепланированию потоков и в итоге к нарушнию логики работы системы, недопустим. Сложновато это для понимания конечно. Выделяется память из пула функциями ExAllocatePool, ExAllocatePoolWithTag и подобными.

Как он связан с файлом подкачки? Может ли он оптимизировать работу ФП? »

никак не связан, на работу фп никак не влияет.

Demetriadis
08-12-2013, 14:28
Данные в выгружаемом пуле, могут сбрасываться в подкачку, в невыгружаемом всегда находятся в озу. »
А для чего это все придумали? Если он никак не связан с ФП и ОЗУ.

Прямой связи между пулом и страничный файлом нет. Если страничный файл отсутствует, данные обоих пулов находятся в ОЗу. »
Как объяснить по простому я увы не знаю »
Очень жаль, что не знаете. Вопросов больше нет.

Psih-ya
08-12-2013, 16:28
на которых страничный сбой, который приведет к перепланированию потоков и в итоге к нарушнию логики работы системы, недопустим. »

То есть ситуация, когда файл драйвера при обращении к нему не окажется в ОП, а загрузка с подкачки не сможет быть вызвана из- за этого низкого IRQL. Это я расшифровал с админского на человеческий в меру своих познаний.
А как с моим вопросом, потерявшимся на предыдущей странице?

Efir
08-12-2013, 16:49
Если он никак не связан с ФП и ОЗУ »

что вы понимаете под связью? есть 2 типа системных хранилищ, в которых размещаются данные, - ОЗу и ФП. Обрабатываются данные процессором только в ОЗУ. Назначение ФП, это хранить временно данные, которые в текущий момент не используются, тем самым освобождая ОЗУ для данных, которые обрабатываются. Прямой связи между пулом и страничный файлом нет. Если страничный файл отсутствует, данные обоих пулов находятся в ОЗу.

А для чего это все придумали? »

Для чего придумали невыгружаемый пул я объяснил в прошлом посте. Для того, чтобы это понять, нужно знать, что такое IRQL, что такое планирование потоков, что такое страничный сбой. Как объяснить по простому я увы не знаю :)

Efir
08-12-2013, 17:30
То есть ситуация, когда файл драйвера при обращении к нему не окажется в ОП, а загрузка с подкачки не сможет быть вызвана из- за этого низкого IRQL »

только высокого IRQL и файл драйвера не совсем корректно говорить, правильней будет обращение к странице или можно сказать просто обращение к памяти, но для простого пояснения да, сойдет. Многим известны ошибки, приводящие к останову системы, IRQL_NOT_LESS_OR_EQUAL и DRIVER_IRQL_NOT_LESS_OR_EQUAL. Вот они возникают в следствии того, что код режима ядра на повышеном IRQL обращается к памяти, в следствии которого происходит страничный фолт(PageFault). Страничный сбой это нормальное явление, этот механизм используется для подкачки данных, для отложенной передачи озу и т.д., но только не на IRQL выше 1. Если, например драйверу, нужна в этот момент память, для этого он использует неподкачиваемый пул.

А как с моим вопросом, потерявшимся на предыдущей странице? »

Исполняемые образы всегда разделяются, за исключением секций неинициализированных данных, они приватные. Так было начиная с NT4 вроде.

Частный- без разделённых модулей, полный- вся используемая память »

верно, только ошибка в том, что пишите модули. Это не обязательно модули. Расшареными могут быть образы, общая память, куча и даже приватные данные. Все это можно увидеть глянув в программу VmMap.

Дллки, может ещё что. Видел в презентациях от МС. Сначала гордились, что в висте их меньше, мол, безопаснее, потом в восьмёрке гордились противоположным, мол, снизили потребление памяти »

это и exe могут быть и вообще любой исполняемый файл, - exe, dll, ocx, scr и т.д. Не совсем понял про меньше разделяемых модулей, о чем речь. В чем безопасность заключается? Киньте презентации посмотреть.

Efir
08-12-2013, 20:05
Очень жаль, что не знаете. Вопросов больше нет. »

а где ж ваше спасибо делось, товарищ? :) вот умора.

Игорь Лейко
09-12-2013, 20:22
Если память находится во Free списках, она ни кем не выделена, какой нужно для этого термин использовать? »
Не отдана программе. Или не передана программе. Этап выделения памяти проходит намного раньше.

При отключённой подкачке она будет более интенсивна? Вы точно поняли, что я написал? »
Конечно, понял. Это Вы не поняли, что отключили только файл подкачки, а не саму подкачку. ;)

Efir
09-12-2013, 21:46
Не отдана программе. Или не передана программе »

да, так будет правильней говорить, спасибо.




© OSzone.net 2001-2012