|
|
|
Виртуальрая память
|
|||
|---|---|---|---|
|
#18+
Очень давно когда деревья были большими а трава зеленее. В юниксах свопа необходимо было иметь больше чем оперативки, иначе всю оперативку использовать было бы нельзя. Консалтеры с тех пор пишут 128 метров озу -> 128 метров свопа, 16 гиг озу -> 16 гиг свопа, не надо слушать идиотов. вот до седых волос дожили а свопинг от пейджинга путаем. пейджинг это хорошо, а вот своппинг плохо. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 08:51:05 |
|
||
|
Виртуальрая память
|
|||
|---|---|---|---|
|
#18+
Журавлев ДенисСмотреть надо на si so (swap in/out), pi po (page in/out) - это иной процесс (постепенная загрузка исполняемого кода). page in/out - это не только страницы исполняемого кода, любые другие также спокойно уходят на диск и загружаются в память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 10:40:30 |
|
||
|
Виртуальрая память
|
|||
|---|---|---|---|
|
#18+
вариант Scott Tiger вариант Приведите пример из любой ОС ( со ссылкой да доку) выделения свопа в оперативной (физической) памяти ( не на RAM диске ) и продолжим разговор о непонимании механизмов работы виртуальной памяти , и как это выглядит. Solaris устроит? Общедоступную ссылку поищу завтра, а так - в книге "Solaris Internals" тема раскрыта достаточно подробно. Впрочем, думаю, во всех юниксах сейчас своп - виртуальный. Вполне. Как оказалось, означенную книгу (1-е издание) можно легально почитать в онлайне. http://books.google.com/books?id=r_cecYD4AKkC&pg=PA236&lpg=PA236&source=web&ots=oBofl3wFCQ&sig=nsNygViC_2dGPBbTXTHmXLtr2uA Книга написана во времена 7-й версии, т.ч. некоторые вещи существенно изменились (например, кэш ФС). Но прочитать стоит в любом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 10:49:58 |
|
||
|
Виртуальрая память
|
|||
|---|---|---|---|
|
#18+
Scott Tiger Журавлев ДенисСмотреть надо на si so (swap in/out), pi po (page in/out) - это иной процесс (постепенная загрузка исполняемого кода). page in/out - это не только страницы исполняемого кода, любые другие также спокойно уходят на диск и загружаются в память.согласись пейджинг это нормально, а своппинг нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 10:52:51 |
|
||
|
Виртуальрая память
|
|||
|---|---|---|---|
|
#18+
Журавлев Денис Scott Tiger Журавлев ДенисСмотреть надо на si so (swap in/out), pi po (page in/out) - это иной процесс (постепенная загрузка исполняемого кода). page in/out - это не только страницы исполняемого кода, любые другие также спокойно уходят на диск и загружаются в память.согласись пейджинг это нормально, а своппинг нет. Почему же? Оба - нормальная реакция системы на то, что её ставят на колени :) Своппинг более эффективная и менее ресурсоёмкая операция в критической ситуации (когда пейджинг уже не справляется). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 11:04:16 |
|
||
|
Виртуальрая память
|
|||
|---|---|---|---|
|
#18+
Scott Tiger вариант Scott Tiger вариант Приведите пример из любой ОС ( со ссылкой да доку) выделения свопа в оперативной (физической) памяти ( не на RAM диске ) и продолжим разговор о непонимании механизмов работы виртуальной памяти , и как это выглядит. Solaris устроит? Общедоступную ссылку поищу завтра, а так - в книге "Solaris Internals" тема раскрыта достаточно подробно. Впрочем, думаю, во всех юниксах сейчас своп - виртуальный. Вполне. Как оказалось, означенную книгу (1-е издание) можно легально почитать в онлайне. http://books.google.com/books?id=r_cecYD4AKkC&pg=PA236&lpg=PA236&source=web&ots=oBofl3wFCQ&sig=nsNygViC_2dGPBbTXTHmXLtr2uA Книга написана во времена 7-й версии, т.ч. некоторые вещи существенно изменились (например, кэш ФС). Но прочитать стоит в любом случае. Ненашел ничего про выделение свопа в пямяти кроме области swap reservation, бегло ознакомившись с понятием swapfs layer и понял что swap reservation ( который находится в оперативной памяти ) никаких страниц не хранит , это структура позволяющая мапить адреса физической(оперативной) памяти со смещениями(адресами) в файле свопа, а также быстро вычислять возможность сброса страниц в своп. Фактически это управляющая структура. В вашем документе есть явное указание на то, что если виртального свопа недостаточно необходимо добавить физического(из файла). Про оперативную память ни слова. Scott Tiger вариант Scott Tiger Ну будет он у тебя отображаться на физическую же память - чего хорошего? Сути этого вопроса я не понял. Я в том смысле что обычно лучше использовать физическую память для непосредственных нужд приложения, а не размещать в ней своп, место которому - на диске. Прошу прокомментировать, что значит размещать своп в физической(оперативной) памяти? в качестве з.ы. Очень интересная цитата из описания swapfs layer , которая раскрывает предисторию на требования консалтеров, о которых говорил Денис Журавлев: автор Traditional UNIX implementations need a page-sized unit of swap space for every page-sized unit of writable virtual memory. For example, a malloc request of 8 Mbytes on a traditional UNIX system would require us to reserve 8 Mbytes of swap disk space, even if that space was never used. This requirement led to the old rule of swap space = 2 x memory size—the rough assumption was that processes would, on average, have a virtual size about twice that of the physical pages they consumed. The swapfs layer allows Solaris to be much more conservative; you only need swap space for the amount of virtual memory that is larger than the pageable physical memory available in the machine. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 12:02:38 |
|
||
|
Виртуальрая память
|
|||
|---|---|---|---|
|
#18+
http://books.google.com/books?id=r_cecYD4AKkC&pg=PA236&lpg=PA236&source=web&ots=oBofl3wFCQ&sig=nsNygViC_2dGPBbTXTHmXLtr2uA#PPA158,M1 На 158 странице всё хорошо написано. В частности: The swapfs file system includes all available pageable memory as virtual swap space in addition to the physical swap space. This allows us to “reserve” virtual swap space and “allocate” swap space when we first touch a page. When we reserve swap, rather than reserving disk space, we reserve virtual swap space from the swapfs file system. Disk swap pages are only allocated once a page is paged out. Есть рыба-пила и есть рыба-молот. Вот только не понятно, что они там строят... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 12:51:45 |
|
||
|
Виртуальрая память
|
|||
|---|---|---|---|
|
#18+
Scott Tiger http://books.google.com/books?id=r_cecYD4AKkC&pg=PA236&lpg=PA236&source=web&ots=oBofl3wFCQ&sig=nsNygViC_2dGPBbTXTHmXLtr2uA#PPA158,M1 На 158 странице всё хорошо написано. В частности: The swapfs file system includes all available pageable memory as virtual swap space in addition to the physical swap space. This allows us to “reserve” virtual swap space and “allocate” swap space when we first touch a page. When we reserve swap, rather than reserving disk space, we reserve virtual swap space from the swapfs file system. Disk swap pages are only allocated once a page is paged out. Есть рыба-пила и есть рыба-молот. Вот только не понятно, что они там строят... О чем спорим? Исходя из цитаты вся вся доступная страничная память является частью swapfs . То есть все, в том числе и то что сейчас занято процесами(выполняемыми в данный момент процессором). Издеваетесь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 13:10:55 |
|
||
|
Виртуальрая память
|
|||
|---|---|---|---|
|
#18+
вариант Исходя из цитаты вся вся доступная страничная память является частью swapfs. То есть все, в том числе и то что сейчас занято процесами(выполняемыми в данный момент процессором). Какое-то извращённое понимание что русского, что английского языков :) "Доступная" != "занятая". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 13:35:02 |
|
||
|
Виртуальрая память
|
|||
|---|---|---|---|
|
#18+
вариантЕще раз, Обратите внимание на слово возникает.Бывает что система ДОЛЖНА обработать некую порцию данных по запросу пользователя. Обработка может занять больше памяти чем есть в ОЗУ. т.е. изредка ВОЗНИКАЕТ необходимость обработать данные. вариантСУБД используют пространство временного хранения(TEMP) в таких случаях. Или говорите какую СУБД вы имеете ввиду. СУБД гораздо лучше знает, что где и как искать на диске в своем TEMP TBS чем ОС для некоего нетипизированного процесса в свопе. По сему использование TEMP всегда будет производительнее в случае рассмотрения TEMP vs SWAP в контексте любой СУБД поддерживающей TEMP TBS. Недосток СУБД в виде отсутствия TEMP TBS не нужно рассматривать как достоинство SWAP.СУБД это еще одно приложение с точки зрения ОС. А может или не может оно использовать TBS это дело 100-е. Кстати а что такое TBS и в какой СУБД? К примеру MS SQL 2k очень любит хавать память. И на машине с 500Мб ОЗУ может уйти на 2-3Gb swap. вариантВы хотите сказать что существует приложение и его окружене (ОС и железо) где приложение которое свопится будет работать быстрее чем без свопа. пример в студию.А можно ссылку ГДЕ я говорил: " Вы хотите сказать что существует приложение и его окружене (ОС и железо) где приложение которое свопится будет работать быстрее чем без свопа. " ??? Я такого не писал ))) А хочу сказать, что есть приложение и его окружение (ОС и железо), которое без swap не может работать на МИНИМАЛЬНОЙ допустимой конфигурации. Пример: min RAM 500Mb. При этом само приложение может съесть 1-2Gb memory. Если свапа не будет, ТО ПРИЛОЖЕНИЕ НЕ РАБОТАЕТ. вариантБольшой своп может быть полезен только как затыкание дыры на уже работающей системе( что бы хоть как нибудь дышало). Проектировать систему с учетом использования большого обьема свопа ИМХО недальневидно. В общем согласен. НО к сожалению часто программы пишутся левой ногой и ТЗ к ним тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 14:29:14 |
|
||
|
|

start [/forum/topic.php?fid=25&msg=35131651&tid=1487143]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
69ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 380ms |

| 0 / 0 |
