На ноуте убунта 9.10 и 3 гига оперативы.
При этом, нередко наблюдается следующая картина:
Т.е. свободной памяти еще вагон, но некоторые данные все равно грузятся в своп.
Почему так происходит иможно ли это как-нибудь решить - чтобы своп задействовался, только когда свободной памяти нет, или осталось совсем мало?
-
У меня тоже вопрос. Если оперативной памяти 2 Гб, то сколько лучше отдать под swap? Использование оперативной памяти больше 70% не видел.
-
-
Если оперативной памяти 2 Гб, то сколько лучше отдать под swap?
Встречный вопрос. А зачем если
Использование оперативной памяти больше 70% не видел
В 99% случаев своп при таких объёмах памяти обычному юзеру не нужен
-
-
Вообще не создавать такой раздел или сделать минимальный размер?
-
-
Мне кажется, лучше вообще не создавать. Своп на жестком диске намного медленнее памяти, при этом половина свободной памяти уходит под дисковый кеш.
У меня 2 Гб памяти и я не пользуюсь свопом, никаких проблем не замечал. Конечно, HD-видео не пережимаю, но игрушки работают.
-
-
спасибо, это и хотел услышать
-
если конечно ждущим\спящим режимами не пользуетесь ;)
-
Я отдал 1,5 гига и крайне крайне редко вижу чтобы своп был занят метров хотя бы на 300
-
-
а у меня 2 гига оперативки, своп вообще не используется
-
/proc/sys/vm/swappiness в помощь.
-
-
А поподробнее?
Напоминаю, что у нас у всех разный уровень.
-
-
это параметр, указывающий, насколько нужно сбрасывать информацию в своп. Чем меньше, тем реже он будет использоваться
-
-
echo "0" > /proc/sys/vm/swappiness, число задается в процентах, по умолчанию в большенстве дистрибутивов равно 60.
-
В Линухе своп работает не так, как в винде. И то, что он используется - не значит, что всё плохо. Кроме того, мнение, что на современных машинах с большим объёмом оперативки своп не нужен - ошибочно. Он нужен. Более подробно рассказать не могу, я гуглил на эту тему, и почитал в нескольких местах довольно интересно. По-английски в том числе. Если есть менее ленивые чем я, отпишутся подробнее или найдут линки...
-
-
конечно есть - пиши :)
-
За это отвечает параметр swapinnes, чем он больше, тем чаще система пишет в своп, по дефолту - 60, пределы изменения - от 0 до 100. Не помню правда, что это за попугаи, но не критично думаю =)
можно изменить так
echo 10 > /proc/sys/vm/swappiness
или прописать в sysctl.conf
vm.swappiness=10
-
-
Тоже менял этот параметр. Поставил 1.
-
-
Пробовал. Ставил 10. Ничего не меняется, по крайней мере у меня.
При занятости 400-500 Мб(из 1 Гб) в swap регулярно попадает от 4 Кб(спрашивается ЗАЧЕМ???) до 40 Мб.
Меня это не сильно напрягает, а вот HDD...
Знать бы какая падла программа столько кэшится и почему. Как узнать?
-
-
этим не программы управляют а ядро. Имхо в алгоритмы менеджера памяти зашито во время простоев упреждающе сбрасывать давно неиспользуемые участки памяти в своп, дабы когда реально понадобится физическая память не тратить время на взаимодействие с медленным свопом, а просто удалить из физической памяти участки уже имеющие копии в свопе.
-
Ставь 0, мне помогает
-
-
Попробую.
-
всегда вот думал, а чо так люди относятся к памяти как к чему-то драгоценному? Там же важно, или есть память, или ее не хватает. Что на 10% заполнена ОЗУ, что на 100% - если она вовремя освобождается под нужные мне приложения, какая мне вообще нахрен разница?
-
-
Всё ничего когда дисковый кеш сам сбрасывается... И память перераспределяется между новыми приложениями. У меня бывало, что долбанный кеш забивал ОЗУ почти целиком. Хотя с новыми ядрами такого нет.
Обычно оно потребляет както так
total used free shared buffers cached
Mem: 2025 986 1038 0 46 502
-/+ buffers/cache: 437 1587
Swap: 1506 0 1506
[exme@bigibig ~]$
-
-
А чего плохого в памяти, забитой кэшами? Сбрасывается по мере требования, кушать не просит, скорость чтения некоторых файлов увеличивает - разве не рай на земле?
-
-
Суть в том, что оно не сбрасывало а начинало активно юзать своп и аццки шуршать винтом
-
Плохо в это то, что память используется под кеши, в то время, как она нужна приложению под данные. Что толку от скорости чтения некоторых файлов, если система в целом тормозит от того, что кто-то что-то свопит?
-
-
Ну если система не успевает сбрасывать кэши - тогда да, непорядок.
-
Есть swap раздел. 4гб. Сделал в своё время зачем-то. Хочу оставить только 1гб. Своп находится в /dev/sda9, то есть самый последний из партишенов. Если его просто отмонтировать и удалить, а затем на его месте создать новый но размером 1гб - система это нормально воспримет? или же у неё в конфигах где-то уже прописан размер и она будет тогда писать в "чужую" память и работать некорректно?
-
-
нормально,
только mkswap не забудьте сделать для нового раздела
-
Вообще это не особо удачная идея Swap в конец винта закидывать. Самая идеальная начальная разбивка:
- /dev/sda1 - /boot (~100 Mb)
- /dev/sda2 - swap (Ram<2Gb - Swap=Ram*2; Ram>2Gb>4Gb - Swap=Ram; Ram>2Gb - Swap=1/2Ram)
- /dev/sda3 - / (По своему усмотрению но не меньше чем 5Gb)
- /dev/sdaX - /... (Свои разделы)
При таком распределении партиций, система будет немного быстрее загружаться и работать, так как бошке винта не нужно будет позиционироваться на дальние цилиндры.
-
-
Вообще это не особо удачная идея Swap в конец винта закидывать.
почему ты так считаешь?
-
-
потому что данные из начала винта читаются быстрее, а быстрее всего читать надо / и swap
-
-
Год или 2 на хабре доказывали обратное.
Топик не нашёл =(
-
-
закрой хабр. открой гугл.
ru wiki: Жёсткий диск --- подтверждение моего комментария, а про то, что из этого следует более быстрая скорость чтения/записи пусть подскажут знания математики и фищики или гугл.
-
Что там доказывать. Это тупо физика :). Рукой быстрее же почитать живот, нежели пятку, т.к. живот все же ближе к кисти руки :) Такая вот анатомическая аналогия :).
-
При таком распределении партиций, система будет немного быстрее загружаться и работать, так как бошке винта не нужно будет позиционироваться на дальние цилиндры.
На мой взгляд, довольно четко описано почему.
-
-
дело не только во времени позиционирования, тут играет роль та же самая ерунда что и на cd/dvd первые секторы (которые напомню находятся на внешней стороне диска) читаются быстрее, потому что при той же скорости вращения на дорожку помещают больше секторов и следовательно при той же скорости чтения дорожки мы получаем бОльшую скорость чтения секторов.
-
-
я думаю тут большее влияние на скорость оказывает как раз время позиционирования головок, а не влияние радиуса дорожки на скорость считывания. При работе со свопом расположенным в конце диска головки будут постоянно метаться по всему диску, что уже само по себе не есть гуд (в начало - для чтения таблиц ФС и за пользовательскими данными, в конец - для доступа к свопу), и никакое увеличение скорости последовательного доступа к данным свопа не скомпенсирует время необходимое для того чтобы перед этим до них добраться. И с cd/dvd сравнение некорректно - там нет активной работы с фс и все данные как правило читаются последовательно (я уж не говорю про запись)
-
-
>и никакое увеличение скорости последовательного доступа к данным свопа не скомпенсирует время необходимое для того чтобы перед этим до них добраться
и никакое увеличение пропускной способности не компенсирует пинг? по моему это перпендикулярные вещи. в любом случае, где я говорил о том, что надо своп помещать в конец диска?
>И с cd/dvd сравнение некорректно
cd круглый, остальное не важно :)
-
-
никакое увеличение пропускной способности не компенсирует пинг?
Пинг, и пропускная способность - крайне разные вещи, друг от друга не зависящие.
-
-
вот и объясниет Astral'у
-
Пробовал на одной из машинок (P4/2GB/120Gb/Ubuntu 9.04) засунуть swap по-ближе ради пущей производительности, в итоге никакой разницы не ощутил. Возможно в системах активно использующих раздел подкачки, производительность увеличится существенно, в остальных случаях можно не париться по этому поводу, имхо:)
-
-
Я и написал что немного, чем чаще к свопу обращение, тем больше ускорение и кроме того я написал и про бут раздел, так еще и загрузка ускорится...
-
Просто оперативки 4гб(я собсно и делал swap=ram). Но настроить спящий режим не удалось) поэтому им не пользуюсь. И вот сейчас увидел тему про своп и вспомнил, что у меня 4 гига ничем не заняты. Практически всегда когда смотрю системный монитор там 0байт используется =)
-
-
Дык своп раздел также и для спящего режима используется. Туда все данные скидываются. Поэтому он должен быть по идее равен или больше размера RAM.
-
-
Тут перепутаны sleep mode и hibernate. В спящем режиме ничего никуда не скидывается, а hiernate - отдельная большая тема для разговора :)
-
-
В русском все перепутано. Я говорил о hibernate, который как раз почему-то переводят как "Спящий режим"
-
А может так:
1. /dev/sda1 - /boot
2. /dev/sda2 - extended
3. /dev/sda5 - LVM
4. /dev/vgMain/lvSwap
5. /dev/vgMain/lvRoot
6. /dev/vgMain/lvHome
?
4 и 6 можно объединить, а с GRUB2 можно уже будет
1. /dev/sda1 LVM
и далее 4, 5, 6.
-
>или же у неё в конфигах где-то уже прописан размер и она будет тогда писать в "чужую" память и работать некорректно?
так проверь в "конфиге" то :) grep swap
ну и к слову swapon и swapoff тоже не запрашивают размер, очевидно что всю эту работу по подсчёту места делает mkswap
то есть фактически в твоём случае тебе надо просто сделать
swapoff /dev/sda9
изменить размер /dev/sda9 (сходу не помню как это сделать одной командой)
swapon /dev/sda9
если оперативки в системе мало, то можешь сделать файлик на гиг через dd ну или просто фильм какой-нибудь взять и сделать mkswap file а потом swapon file перед тем как отключить /dev/sda9
-
-
хм... "grep swap" => "grep swap /etc/fstab"
-
-
UUID=a392ba22-ce03-423a-b0e9-9dbbd6c123ab swap swap defaults 0 0
-
спасибо, попробую вечером.
-
-
Не забуть посмотреть новый UUID для swap раздела с помощью blkid и вписать его вместо старого в /etc/fstab (рекомендую этот файл сбэкапить перед редактированием)
-
-
или просто ls -l /dev/disk/by-uuid
-
-
Не уверен, что ссылки пересоздадутся без перезагрузки.
-
фраза о том, что кеш ФС тормозит систему в корне не верна. погуглите на тему работы ядра с дисковым кешем в ОЗУ..
при появлении необходимости в памяти ядро немедленно высвобождает необходимую память от кэша ФС и отдает приложению.
-
А пробовал кто-нибудь положить свап на отдельный винт? Какой прирост производительности будет в этом случае?
-
При текущей стоимости оперативной памяти я бы советовал не заморачиваться этим вопросом. Своп используется и так по минимуму, ну прирастет скорость его работы на 5..15 процентов, в общей картине это практически ни чего не даст.
-
-
это должно было быть ответом Craftuser.
|
|
|
Последние посты
|
|
Последние комментарии
|
|
Изменения
|
|
Черновики (все)
|
|
Избранное (всё)
|
|
|