LINUX.ORG.RU

Кеширование дисков выгоняет систему в свап.


1

6

Дано два HDD, 16 гб памяти, один из них USB. Занято 2 гб памяти, кеш несколько сотен мегабайт. Начинаем копировать данные, наблюдаем за кешем диска. После копирования 14 гб, кеш вырастает до 14500 мб и загоняет всю систему в свап, после чего kswapd0 вызывает жесткий iowait. Это гребанное кеширование настраивается?

Ответ на: комментарий от vromanov

Отключить нахрен своп. Зачем он при таком объеме памяти?

Линукс - чудеса стабильности. Половина лора кричит про то, что нельзя выключать своп при любом объеме озу.

xtraeft ★★☆☆
()
Последнее исправление: xtraeft (всего исправлений: 1)
Ответ на: комментарий от anonymous

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

xtraeft ★★☆☆
()
Ответ на: комментарий от steemandlinux

У нас куча серверов с отключенным свопом. Вот железка

cubietruck ~ # free
             total       used       free     shared    buffers     cached
Mem:       2019516     400260    1619256        212      56852     299368
-/+ buffers/cache:      44040    1975476
Swap:            0          0          0

vromanov ★★
()
Ответ на: комментарий от vromanov

Во-первых kswapd0 от этого никуда не делся. Во-вторых без свапа у меня после очередного 12309 убило хром во время копирования.

steemandlinux ★★★★★
() автор топика
Ответ на: комментарий от vromanov

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

xtraeft ★★☆☆
()
Ответ на: комментарий от xtraeft

У нас в скрипте деплоя стоит проверка на наличие свопа. Если есть, то рушается и дальше не идет. Сервера стоят под хорошей нагрузкой. До 15 тысяч запросов в секунду. Проблем с памятью не было никогда.

vromanov ★★
()
Ответ на: комментарий от steemandlinux

Смотрим на аптайм

[root@xxxx ~]# uptime
 08:29:54 up 788 days, 20:34,  1 user,  load average: 2.24, 2.46, 2.07
[root@xxxx~]# ps ax | grep swap
  487 ?        S<    30:50 [kswapd0]
  488 ?        S<    27:17 [kswapd1]
19253 pts/0    S+     0:00 grep swap
[root@xxxx ~]# free -g
             total       used       free     shared    buffers     cached
Mem:            15         15          0          0          0         13
-/+ buffers/cache:          1         14
Swap:            0          0          0

vromanov ★★
()
Ответ на: комментарий от vromanov
up 788 days

это называется «пердоль меня во все известные отверстия»

anonymous
()
Ответ на: комментарий от steemandlinux

Во-во, добро пожаловать в мир регрессий. Замучаешься отлавливать :(

xtraeft ★★☆☆
()
Ответ на: комментарий от vromanov

И? Дистриб надеюсь не генту/фряха. Просто у вас нет таких задач, когда может понадобится реально дофига памяти в любой момент времени. Это не делает вас круче. Это вы не знаете мира вокруг себя. Выйдите куда-нить, освежитесь, посмотрите как крутят серваки с 32-92 гб озу с запущенным ораклом, монгодб и т.д. и т.п.

gh0stwizard ★★★★★
()
Ответ на: комментарий от gh0stwizard

Rhel5.x на сервере крутится база данных от oracle, nginx, и телекомовский софт. Памяти это все потребляет достаточно. Но у нас время отклика 2 мс. Поэтому никакие задержки типа подъема процесса из свопа недопустимы. Не судите о памяти по выводу free, эта утилита как псаки. И да, это на этом сервере столько памяти. Есть у нас и куча других там побольше или поменьше.

vromanov ★★
()
Ответ на: комментарий от gh0stwizard

И да, если нам потребуется Х памяти, то мы поставим столько оперативы, а не расширим своп. Но память у нас просто зафиксирована. Динамическое выделение сведено к минимуму

vromanov ★★
()
Ответ на: комментарий от vromanov

Динамическое выделение сведено к минимуму

:) Точно. Все кто так не делает — нубасы. Вы правы. // thread

gh0stwizard ★★★★★
()
Ответ на: комментарий от vromanov

А толку, если памяти всегда достаточно, то в swap и не уйдет. Другое дело, что в таком случае нужно реально оценивать возможности и иметь хотя бы четверть свободной оперативки в резерве. Так что все правильно. Есть конечно некоторые приложения, которые любят ложить c дефолтными настройками в swap, тот же postgres. Если памяти всегда достаточно, то отсутствие swap избавляет от многих проблем кривых рук и дефолтных конфигураций. А вот когда памяти ограничено, то без swap никуда. Причем на десктопе в зависимости от юзкейсов, памяти может как хватать 4 гб, так и 8гб некоторым не хватать и есть тенденция к росту. На серверных конфигурациях < = 512мб (большинство vps) без swap совсем никуда. И большая часть памяти занята разными кешами в swap, и это отлично. Как минимум четверть оперативной памяти остается всегда свободной под критические ситуации.

anonymous_sama ★★★★★
()
Ответ на: комментарий от xtraeft

Можешь и на меня ссылаться также. Потому что своп - это потенциальный источник 12309 - доказано на практике с медленными винтами/флешками.

Нет, бесспорно, на mips-девайсе с корнем на USB я своп через NFS юзаю. Да я там готов юзать своп через чёрта лысого, лишь бы памяти где б урвать.

Но на серваках с >4Gb ОЗУ... Простите, если её не хватает - своп в данном случае это костыль. Когда оперативка на x86 была дорогая - это имело смысл. Теперь - нет.

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

И на тебя могу сослаться, когда будут примеры вроде этого Кеширование дисков выгоняет систему в свап. (комментарий)

btw, сегодня утром проснулся - а на сервере с 16Гб памяти - 4 занято под софт, еще 8 под кеши, 4 свободно. Своп размером 1Гб забит целиком (зачем?), весь сервер стоит колом из-за адского IO (в своп и обратно). То ли фс долбанутая, то ли в ядре опять что-то наковыряли в МИНОРНОМ апдейте. Вот тебе и стабильный дебиан, я уже просто боюсь накатывать минорные апдейты ведра на него.

P.S. Ночью софт работал с кучей мелких файлов.

xtraeft ★★☆☆
()
Последнее исправление: xtraeft (всего исправлений: 3)
Ответ на: комментарий от anonymous_sama

А толку, если памяти всегда достаточно, то в swap и не уйдет.

Если бы :(

xtraeft ★★☆☆
()
Ответ на: комментарий от xtraeft

Гы, а вот сейчас опять решил активно поработать с кучей мелких файлов.

             total       used       free     shared    buffers     cached
Mem:         16043      15821        222          0        828      10014
-/+ buffers/cache:       4978      11065
Swap:          976        892         84

la вырос в пару раз-на порядок, cpu простаивает, рейд скрипит. Красота.

xtraeft ★★☆☆
()
Последнее исправление: xtraeft (всего исправлений: 1)
Ответ на: комментарий от xtraeft

А ты в курсе, что в память которая обозначена как кеш, попадает еще и /dev/shm а также shared memory которая sysV. Если есть кто-то, кто ее использует, то может память на самом деле была занята.

vromanov ★★
()
Последнее исправление: vromanov (всего исправлений: 1)
Ответ на: комментарий от vromanov

Если есть кто-то, кто ее использует то может память на самом деле была занята.

Да пожалуйста, у нее там еще 4 гб свободных (не учитывая кеш). Зачем своп гонять туда-сюда?

xtraeft ★★☆☆
()
Ответ на: комментарий от vromanov

А ты в курсе, что в память которая обозначена как кеш, попадает еще и /dev/shm а также shared memory которая sysV.

Ну и http://www.linuxatemyram.com/ надо тогда закопать, а не тыкать в него новичков, когда они жалуются на нехватку памяти для приложений.

xtraeft ★★☆☆
()
Ответ на: комментарий от xtraeft

Да, эта ссылка говно. У система рисует графики занятой памяти ПРАВИЛЬНО :). Хотя может и я чего-то не знаю :(

vromanov ★★
()
Ответ на: комментарий от xtraeft

Да на здоровье, 3 разных сервака с разными задачами:

titan ~ # free -m
             total       used       free     shared    buffers     cached
Mem:          3957        494       3462          0        118        200
-/+ buffers/cache:        176       3781
Swap:            0          0          0
pinkbyte@bgp ~ $ free -m
             total       used       free     shared    buffers     cached
Mem:         32098       8301      23796          0        452       1538
-/+ buffers/cache:       6310      25788
Swap:            0          0          0
admin@ares ~ $ free -m
             total       used       free     shared    buffers     cached
Mem:         48266      47815        451          0        616      37536
-/+ buffers/cache:       9663      38603
Swap:            0          0          0
Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.