Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Linux swap

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix
Предыдущая тема :: Следующая тема  
Автор Сообщение
YuZeR
Гость





СообщениеДобавлено: Пт Май 10 2002 08:58    Заголовок сообщения: Linux swap Ответить с цитатой

Подскажите, какой величины должен быть раздел для Linux swap файла? Можно ли его поместить в отдельный раздел, а не в EXTENDED DOS?
Вернуться к началу
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Пт Май 10 2002 09:02    Заголовок сообщения: Re: Linux swap Ответить с цитатой

Размер свопа зависит от наличия ОЗУ и кол-ва одновременно запускаемых прог.

Я обычно ставлю 100 мег. Делать больше смысла нет, т.к. начнутся дикие тормоза.

Если ОЗУ 256 и более, то своп как правило и не нужен. Он даже вреден. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dmitry.Karpov http://www.
Гость





СообщениеДобавлено: Пт Май 10 2002 11:42    Заголовок сообщения: Swap - платформенно-независимые соображения Ответить с цитатой

Есть много соображений по поводу размера и размещения swap-области.

Во FreeBSD свопинг может производиться как в отдельный раздел (который тоже файл), так и в обычный файл. При этом swap-области подключаются в два приема - сначала до монтирования файловых систем монтируются swap-разделы, а после монтирования файловых систем (программа mount тоже может свопиться) монтируются swap-файлы. W'NT/2k свопятся только в обычный файл, в раздел они свопиться не умеют. Насчет Linux не знаю.

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

В отличие от кэш-памяти 1-го и 2-го уровня (для машин на базе 486 и Pentium-I/MMX эти кэши назывались "внутренний" и "вншний", а в Pentium-Pro и Pentium-II/III оба кэша внутри процессора) объем физической оперативной памяти складывается с объемом swap-областей (а кэш-память находится внутри пространства адресов кэшируемой памяти). Но кроме того, код запущенных процессов при нехватке места не сбрасывается в swap, а просто выкидывается из оперативной памяти, а при необходимости подкачивается из запускаемых файлов.

Размер swap-области д.б. достаточен для запуска всех необходимых процессов, поэтому для сервера лучше создать ее с запасом, особенно если диск достаточных размеров (5% емкости диска можно пожертвовать без угрызений совести) - там не будет человека, способного оперативно принять решение о выгрузке не очень важных задач, поэтому пусть они "отдохнут" в свопе (особенно это относится к серверам DHCP, DNS и т.п.).
Из эмпирических соображений считается, что при размере swap-области более чем в два раза превышающем объем физической оперативной памяти либо swap-память будет простаивать (останется неиспользуемой), либо при ее активном использовании скорость работы уменьшится до неприличия. Впрочем, размер swap-области желательно задавать с расчетом на возможное наращивание физической оперативной памяти (вроде, опять наметились тенденции к снижению цен).
А что делать, если эти два требования противоречат друг другу, т.е. для запуска всех задач требуется больше, чем тройной объем физической оперативной памяти? Очевидно, необходимо срочно докупить DIMM'ов, иначе головки протрут плстины жесткого диска до дыр!
Вернуться к началу
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Пт Май 10 2002 13:18    Заголовок сообщения: Поправочки (+) Ответить с цитатой

В своп выкидавается не весь код, а некоторая страница памяти. В системе есть специальный менеджер памяти, которые следит за ее использованием. Неиспользуемые некоторое время страницы могут быть выброшены в своп.
Если памяти не хватает, то в своп улетают именно наименее используемые куски.
Когда нужен кусок памяти, а он находится в свопе, и ОЗУ нету, то менеджер опять глядит кого можно выкинуть и на его место подгружает запрошенный кусок.

Если интересно, то расскажу про Линух.
Линух свопирует в раздел диска. Своп может быть размещен на нескольких разделах (ессено на разных диках тоже). Кол-во разделов ограничено кажется 4. Может чуть больше.

В ядре 2.4.Х очень сильно переработали менеджер памяти. Особенно в части выкидывания кого-либо в своп. Говорят работает более эффективно, чем на старых ядрах.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dmitry.Karpov http://www.
Гость





СообщениеДобавлено: Пт Май 10 2002 16:27    Заголовок сообщения: Про свопинг кода Ответить с цитатой

Разумеется, память сбрасывается в своп постранично (в 16-битных Windowns, ориентированных на процессоры 086 и 286, даже на поцессорах 386 память распределялась сегментами и свопилась так же). Но соображения ядра системы при свопинге м.б. самые разные - например, предпочтительно скидывать в своп страницы, принадлежащие одному процессу.

А я говорил о том, что код только читается из запускаемого файла - он не записывается в swap-области и не занимает там места даже когда не используется (т.е. реальный объем swap-области больше, чем мы выделяем).
Вернуться к началу
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Пт Май 10 2002 17:09    Заголовок сообщения: Да я просто кое-что прояснил. Вот и все (+) Ответить с цитатой

-
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
YuZeR
Гость





СообщениеДобавлено: Сб Май 11 2002 08:36    Заголовок сообщения: Re: Linux swap Ответить с цитатой

>Если ОЗУ 256 и более, то своп как правило и не нужен. Он даже вреден. Smile
Можно ли вообще обойтись без свопа (не создавать этот раздел в принципе)? Чем это грозит?
Вернуться к началу
ilyasov
Гость





СообщениеДобавлено: Вт Май 14 2002 14:03    Заголовок сообщения: свопинг и пейджинг Ответить с цитатой

В системах обычно присутствуют два различных по сути механизма выброса областей из памяти на диск. Первый механизм -постраничный выброс (пейджинг) -используется при не слишком частых обращениях к загрузке-выгрузке страниц памяти. Второй механизм -свопинг (самый старый способ высвобождения места), в этом случае выбрасываются из памяти целиком образы процессов. Свопинг используется тогда, когда эффективность страничного обмена падает до некоторой, наперед заданной величины. Кстати, на архитектурах без аппаратных прерываний по несуществующим адресам единственным возможным механизмом был свопинг.
На счет размера swap раздела -выбирать следует исходя из нагрузки на машину. Самый верный путь -создать раздел с возможностью расширения на случай нехватки места. Считать потребности в памяти системы -дело нудное, проще пойти по пути 2* на размер занятой памяти в режиме средней загрузки сервера).
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...