powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / SPARC Solaris, размер блока при создании swap
14 сообщений из 14, страница 1 из 1
SPARC Solaris, размер блока при создании swap
    #39966971
LenaOna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Почему при создании swap рекомендуется размер блока 8К? Объясните мне, пожалуйста!
оракловый гайд про манипулирование swap'ом
...
Рейтинг: 0 / 0
SPARC Solaris, размер блока при создании swap
    #39966975
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LenaOna,
для sparc обычно размер страницы
Код: sql
1.
Previously, only 8–KB pages were available on UltraSPARC platforms for a program's stack, heap, or anonymous memory mapped with mmap().



для х86 - 4KB

т к swap используется для выгрузки страниц памяти, а в zfs оптимально устанавливать размер блока равным блоку, с которым работают
то логично, что для свап раздела оптимально установить размер блока равный размеру страницы
Если оставить по умолчанию(128kB) то будет оверхэд при работе со свап разделом - на чтение страницы из свапа вместо тех же 8 kB будете каждый раз читать 128 kB
...
Рейтинг: 0 / 0
SPARC Solaris, размер блока при создании swap
    #39967145
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LenaOna, а Солярис можно отформатировать под что-то более простое? Zfs - как швейцарский военный нож.
Делает очень много. Но может быть для свопа нужен самый базовый функционал и на фоне чего-то
простого (как ext4), zfs будет вести себя как медленный покемон.

IMHO.
...
Рейтинг: 0 / 0
SPARC Solaris, размер блока при создании swap
    #39968091
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LenaOna, потому что в той версии Solaris, для которой написана 11 лет назад данная документация, организация виртуальной памяти была весьма жёстко прибита к умолчальному размеру страницы памяти, который на спарке как раз и есть 8Кб, и работа с large pages на некотором уровне и в ряде случаев (и в частности, в пейджинге и своппинге) вырождалась в работу со страницами стандартного размера. Не могу не вспомнить старую (~2007) плюху, когда крутящийся page scanner выпейдживал (ставил в очередь на выпейдживание) на диск _всю_ большую страницу памяти по критерию малоиспользуемости _одной_ из 8К-страниц, из которых, во его внутреннем представлении, эта большая страница состояла.

На самом деле, не переживайте сильно - если ваш Solaris начал пейджится (начался страничный обмен памяти на диск), у вас уже пред-аварийная или аварийная ситуация, т.к. последствиями этого обычно является неприемлимая деградация производительности. Из ситуации своппинга (обмен всей памяти процесса на диск) на моей памяти никто не выходил живым :) Хотя сейчас NVMe на каждом шагу - могут быть варианты.
...
Рейтинг: 0 / 0
SPARC Solaris, размер блока при создании swap
    #39968092
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, не усложняйте жизнь. Своп в солярисе нужен для того, чтобы быть равным размеру RAM и никогда не использоваться фактически. Dump device лучше иметь отдельный - хотя бы ради live kernel dump.
...
Рейтинг: 0 / 0
SPARC Solaris, размер блока при создании swap
    #39968106
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я вобщем не против. Делайте в zfs.

Просто хотел все варианты посмотреть.
...
Рейтинг: 0 / 0
SPARC Solaris, размер блока при создании swap
    #39968124
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Scott Tiger
mayton, не усложняйте жизнь. Своп в солярисе нужен для того, чтобы быть равным размеру RAM и никогда не использоваться фактически. Dump device лучше иметь отдельный - хотя бы ради live kernel dump.
Да, вроде, как и в Linux
...
Рейтинг: 0 / 0
SPARC Solaris, размер блока при создании swap
    #39968144
Фотография bga83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров
Scott Tiger
mayton, не усложняйте жизнь. Своп в солярисе нужен для того, чтобы быть равным размеру RAM и никогда не использоваться фактически. Dump device лучше иметь отдельный - хотя бы ради live kernel dump.
Да, вроде, как и в Linux
давненько меня интересует есть ли какие-то объяснения необъходимости иметь своп, равный по размеру памяти(порой встречалось еще и удвоенноый объем оперативки)
...
Рейтинг: 0 / 0
SPARC Solaris, размер блока при создании swap
    #39968149
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да мне тоже интересна эта формула. Причем замечаю что для малых и средних размеров там есть коэффициент 2.

Для больших разделов swap либо равен объему доступной памяти.

Либо (не помню где читал) для сверх больших ресурсов памяти swap отключается.
...
Рейтинг: 0 / 0
SPARC Solaris, размер блока при создании swap
    #39968295
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понимаю есть резервирование места в свопе (ну, на всякий случай), а есть реальное выделение
Вроде как место в свопе должно быть зарезервировано однозначно для анонимной памяти (т.е. та, у которой нет двойника на диске) -- данные, стек (всякие hugepages, код, библиотеки сюда не входят)
Но реально туда что-то будет копироваться либо при полной жопе, либо всякие там hibernation
Есть еще выделенная, но не используемая анонимная память -- в современных линуксах оно тоже в резервировании не нуждается -- это уже новомодные оптимизации

У Солярки там еще веселее было -- своп и опреративка образовывали общий пул виртуальной памяти и если для резервирования свопа не хватало свопа (калом бур!) резервирование осуществлялось в оперативке (опять же там есть память, не нуждающаяся в свопе, например ISM) -- Scott Tiger, вроде, так?
...
Рейтинг: 0 / 0
SPARC Solaris, размер блока при создании swap
    #39968350
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров, всё ещё проще - своп в Solaris суть не дисковое пространство, а специфический сегмент виртуальной памяти, расположенный, при необходимости, на дисковом устройстве, файле, ZFS volume, ну или в RAM при отсутствии дисков. Есть способы выделения памяти, которые в свопе место резервируют, а есть - которые не резервируют.
...
Рейтинг: 0 / 0
SPARC Solaris, размер блока при создании swap
    #39968459
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык я примерно про это и говорю
Получается, если мы в солярке не выделили для свопа дискового пространства, то при запуске процессу выделится требуемая память в RAM и зарезервируется (станет недоступной для других процессов) память тоже в RAM

Это меня всегда как-то немного накаляло, но я утешал себя, что я неправильно где-то понял (и тестов не проводил)
Андрей, скажи мне, что я неправильно понимаю
...
Рейтинг: 0 / 0
SPARC Solaris, размер блока при создании swap
    #39968917
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, разумеется. Я ж говорю: своп суть не диск, а сегмент памяти, который может располагаться на разного типа устройствах. Своп даже на NFS можно делать :)
...
Рейтинг: 0 / 0
SPARC Solaris, размер блока при создании swap
    #39968933
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я даже не понял, успокоил ты меня или наоборот подтвердил мои самые худшие предположения
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / SPARC Solaris, размер блока при создании swap
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]