Голосование

Чему равен размер SWAP?

двойному ОЗУ
одинарному ОЗУ
половинному ОЗУ
тройному ОЗУ
дестярному ОЗУ
SWAP - это зло!
Не знаю

Автор Тема: Swap-раздел. Оперативная память. Общие вопросы свопа и оперативки.  (Прочитано 82009 раз)

Оффлайн greyzy

  • Участник
  • *
  • Сообщений: 277
    • http://samba-doc.ru
Будем и дальше обсуждать? Или вы все же прочитаете что-нить по теме? Вас не смущает фраза "если есть страницы памяти, к которым..."?
Кстати, покажите-ка ваш uptame.
Почему не пообсуждать, аптайм 13 минут, дома
# free -k     
             total       used       free     shared    buffers     cached
Mem:       3357632     594268    2763364          0      46716     334700
-/+ buffers/cache:     212852    3144780                                 
Swap:      1020024          0    1020024                                 
# uptime                                                   
 22:35:55 up 13 min,  2 users,  load average: 0.14, 0.20, 0.18

Фраза смущает, не знаю я что такое страницы памяти (шанс вам за них)
Вот, опера работала, запустил копирование, гимп, ооо, две виртуальных машины, и вот только на третьей стало
# free -k
             total       used       free     shared    buffers     cached
Mem:       3357632    3344796      12836          0     761112    1391424
-/+ buffers/cache:    1192260    2165372
Swap:      1020024        304    1019720

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 3  1    304  15096 2169508 334364    0    0  3791  3259  491 4519 10 10 66 14  0
так что или мое ядро крепче или одно из двух

Оффлайн Alukardd

  • Участник
  • *
  • Сообщений: 197
хм.. действительно я уже заинтересовался что за палево у вас тут происходит :)# uptime
 17:49:58 up 5 days, 18:18,  1 user,  load average: 0.00, 0.00, 0.00
# free
            total       used       free     shared    buffers     cached
Mem:       1555240    1209588     345652          0     194952     411548
-/+ buffers/cache:     603088     952152
Swap:      3863592          0    3863592
это сервер... работает NAT, прозрачный прокси, DNS, почтовик...
« Последнее редактирование: 05.08.2010 18:11:35 от Alukardd »
Debian Lenny 6.0, Ubuntu 10.04 Lucid Lynx

Оффлайн greyzy

  • Участник
  • *
  • Сообщений: 277
    • http://samba-doc.ru
хм.. действительно я уже заинтересовался что за палево у вас тут происходит :)# uptime
[/quote]
Если бы товарищ [b]Карлсон[/b] на пальцах объяснил, что там с ядром, и почему у нас у всех своп начинает использоваться только тогда, когда места в оперативке уже не хватает (что и правильно с идейно-своповой точки зрения), так нет, он оперирует данными со своего компьютера и какой-то своей документацией. А я уже волнуюсь, вдруг это неправильно, что своп пуст?...

Оффлайн Rezedent12

  • Участник
  • *
  • Сообщений: 640
  • Цель оправдывает средства.
Думаю будет работать быстрее при интенсивном (раз в минуту) переключениями между приложениями (своего внимания пользователя), то есть если щёлкнуть по неактивному окну, то не придётся ждать пока из свопа подтянуться данные для его перерисовки.

Оффлайн Карлсон

  • Участник
  • *
  • Сообщений: 1 699
это сервер...

Чей? Ваш? Если не ваш, или там не АЛьТ, то разговор стоит начинать с
[root@roof ~]# sysctl vm.swappiness
vm.swappiness = 60


Оффлайн Карлсон

  • Участник
  • *
  • Сообщений: 1 699
когда места в оперативке уже не хватает (что и правильно с идейно-своповой точки зрения),

Ну начнем с того, что это НЕ правильно с точки зрения работы с памятью. Может быть вы не знаете (а я теперь этого не исключаю) но вся свободная память в Линукс используется под дисковый кэш, что ускоряет работу системы. И чем больше кэш, тем легче системе. Поэтому весьма логично, что неиспользуемая память приложений выбрасывается в своп, чтоб высвободить место под потенциальные запросы других программ и под дисковый кэш.

Один из разработчиков ядра (Кон Коливас), человек весьма разбирающийся в этих вопросах, не чата нам с вами, на своем десктопе выставляет vm.swappiness в 100, то есть маскимально быстро и много свопить. На его задачах это приводит к ускорению работы.

так нет, он оперирует данными со своего компьютера

А вы, можно подумать, оперируете данными с компа самого Господа Бога, и ваши данные самые точные.

и какой-то своей документацией.

Таки в Гугль сходить и самостоятельно почитать у вас ни сил, ни способностей нету? Предпочитаете выставлять наружу свое незнание, и обсуждать с такими же невежественными пользователями мифы и легенды?

Оффлайн Alukardd

  • Участник
  • *
  • Сообщений: 197
Сервер мой - Debian lenny 5.0.4
swappiness именно такой как вы и указали...

не больная поправка к вашим словам: системный кэш не использует ВСЮ свободную оперативку - в моем случае(я про дэсктоп) 2Гб оперативки покрывают и нужды программ и системный кэш - т.е. кэш тоже не червь и использует сколько ему нужно и не больше... у меня при обычной работе(firefox, nautilus, ssh) это число около 800Мб...
Что там твориться с числами при запуске виртуалок, или игрушки в wine, или же при гонянии matlab(факторный план какой-нить) я не помню и щас проверять не буду, да и в этом нету нужды - там точно дело до swap дойдёт...
« Последнее редактирование: 05.08.2010 23:50:24 от Alukardd »
Debian Lenny 6.0, Ubuntu 10.04 Lucid Lynx

Оффлайн Карлсон

  • Участник
  • *
  • Сообщений: 1 699
# uptime                                                   
 22:35:55 up 13 min,  2 users,  load average: 0.14, 0.20, 0.18

Ну и о чем тут далее с вами спорить? Интересно, а почему бы вам тогда не поглядеть на загрузку памяти сразу после старта системы, и всем вокруг доказывать, что Линукс держит 95% памяти полностью свободной, и убеждать людей, что дисковый кэш это миф, который придумали какие-то люди, обчитавшиеся документации?

Оффлайн Карлсон

  • Участник
  • *
  • Сообщений: 1 699
системный кэш не использует ВСЮ свободную оперативку

Да, кажется, 10% резервируются. Остальное занято кэшем. В настройках по умолчанию.

Ну естественно, это если есть что кэшировать. Если с диска прочиталось 10 файлов размеров в 100Мб, то они, конечно, весь кэш не забьют.

Оффлайн Alukardd

  • Участник
  • *
  • Сообщений: 197
щас сижу в Ubuntu 10.04 - "22% используются программами, 44% используется как кэш"... о каких 10% идёт речь? он всё равно не может занимать бесконечно пока там 10% не останется, и даже 2Гб при повседневной работе он не забивает... (я не учитываю работу тяжёлых программ и т.п.)
Debian Lenny 6.0, Ubuntu 10.04 Lucid Lynx

Оффлайн Карлсон

  • Участник
  • *
  • Сообщений: 1 699
щас сижу в Ubuntu 10.04 - "22% используются программами, 44% используется как кэш"... о каких 10% идёт речь? он всё равно не может занимать бесконечно пока там 10% не останется, и даже 2Гб при повседневной работе он не забивает... (я не учитываю работу тяжёлых программ и т.п.)

Забивает ВСЮ память (про резерв не уверен, надо документацию глядеть). Если есть чем забивать. И это поведение ЕСТЕСТВЕННО и ОЧЕВИДНО.

[karlson@roof ~]$ free
             total       used       free     shared    buffers     cached
Mem:       3356476    2712896     643580          0     381136    1412892
-/+ buffers/cache:     918868    2437608
Swap:      4200956          0    4200956
[karlson@roof ~]$ uptime
 00:20:55 up  1:11,  6 users,  load average: 0.01, 0.06, 0.08

Как видно, за чуть больше часа работы 1.4Гб кэша и 380Мб буферов занято. На сервере с долгим аптаймом картинка аналогичная:

[karlson@intel_server ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:          3957       3925         32          0        237       3488
-/+ buffers/cache:        199       3757
Swap:        10228          0      10228
[karlson@intel_server ~]$ uptime
 00:23:59 up 111 days, 20:27,  3 users,  load average: 0.03, 0.01, 0.00


Оффлайн Alukardd

  • Участник
  • *
  • Сообщений: 197
Цитата: Карлсон
Забивает ВСЮ память (про резерв не уверен, надо документацию глядеть). Если есть чем забивать. И это поведение ЕСТЕСТВЕННО и ОЧЕВИДНО.
так вот в вашей фразе ключевые слова, не "ВСЮ, ЕСТЕСТВЕННО, ОЧЕВИДНО", а Если!!!
Debian Lenny 6.0, Ubuntu 10.04 Lucid Lynx

Оффлайн Карлсон

  • Участник
  • *
  • Сообщений: 1 699
Цитата: Карлсон
Забивает ВСЮ память (про резерв не уверен, надо документацию глядеть). Если есть чем забивать. И это поведение ЕСТЕСТВЕННО и ОЧЕВИДНО.
так вот в вашей фразе ключевые слова, не "ВСЮ, ЕСТЕСТВЕННО, ОЧЕВИДНО", а Если!!!

Нет, ключевая -- "Естественно". Или вы можете объяснить, какая польза в физическом наличии памяти, если она не используется?

Кстати, резерв таки есть. Вот тут http://sourcefrog.net/weblog/software/linux-kernel/free-mem.html вполне внятно написано, последних пару абзацев. Конечно, это все про ядро 2.4, может в мелочах в 2.6 чем-то отличается. Но врядли сильно.

Оффлайн Карлсон

  • Участник
  • *
  • Сообщений: 1 699
Кстати, еще не забываем, что в АЛьТ последних лет /tmp расположен не на диске, а в памяти. Так что если какая-то программа туда что-то записала, то это сразу скажется на заполнении памяти. В том числе и на использование swap.
http://ru.wikipedia.org/wiki/Tmpfs#Linux
« Последнее редактирование: 06.08.2010 00:56:34 от Карлсон »

Оффлайн Alukardd

  • Участник
  • *
  • Сообщений: 197
думаю вы читает между строк и только то что хотите видеть - в ваших словах много истины, но трактуете вы её в свою сторону и часто искажаете!
вот с вашей ссылке кусок...If there are gigabytes of free memory then the main cause is that the kernel doesn't have anything to cache in them.
Debian Lenny 6.0, Ubuntu 10.04 Lucid Lynx