Автор Тема: Ползвате ли swap.  (Прочетена 10212 пъти)

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Ползвате ли swap.
« Отговор #15 -: Sep 21, 2010, 21:50 »
Обоснован не е, но все пак да се аргументирам. Както е добре известно, линукс има навика да тъпче в РАМ-та  съдържанието на дискови блокове, както и друга кеширана информация - съдържания на директории, рутинг и ARP таблици и още много неща. VM подсистемата е доста сложно животно и освен че търси баланс между това да изхвърля кешове от РАМ-та и да тъпче в swap-а страници, използвани от потребителски процеси, прави това по доста сложни алгоритми. Примерно за всяка страница памет, използвана от някой там процес се пази информация кога последно е достъпвана. Тези дето са ползвани най-отдавна имат най-голяма вероятност да влязат в swap-a. За кешираните блокове също се пази подобна информация. Разните големи глави дето разсъждават по тези въпроси са стигнали до извода че в доста случаи е по-оптимално страници памет да отиват в swap-а в сравнение с това кешове да се изхвърлят от паметта. Разбира се, това силно зависи от workload-а, но те си имат там статистически модели и тем подобни глупости. Ядрото няма как да е Ванга и да знае какво да прави, но следвайки тези модели се справя оптимално в по-голямата част от случаите. Това е и причината много често да се забелязват разни странни явления от сорта на системата има 8 гигабайта РАМ, които са предостатъчно, но все пак линукса е "влезнал" в swap-а с няколко мегабайта.

Махнеш ли swap-а отпада вероятността да се pageout-ват страници и вместо това кешове се изхвърлят от РАМ-та, за да се нагодят нуждите на процесите ти там. Ако често се налага да четеш разни малки файлове по няколко пъти (което е често срещано явление при десктоп системите), твърде вероятно няма да си много на далавера.

А иначе това е предмет на много спорове, но аз предпочитам да се доверявам на големите глави по тези въпроси.
Активен

"Knowledge is power" - France is Bacon

ivanatora

  • Напреднали
  • *****
  • Публикации: 658
  • Distribution: Ubuntu 10.04
  • Window Manager: Fluxbox
    • Профил
    • WWW
Re: Ползвате ли swap.
« Отговор #16 -: Sep 21, 2010, 22:20 »
http://kerneltrap.org/node/3000 - тук има интересни неща за четене
От личен опит мога да кажа че при стартиране на системата има заета 160MB памет (+/- кешовете естествено). Пускам Windows във VirtualBox, задал съм му да ползва 512MB памет. Системата има общо 2GB. След няколко минути са заети около 500+MB памет и 200+ swap. Единствено VirtualBox-а го прави това да започва да заема суап преди да е свършила паметта.
Друго наблюдение - няколко десктоп машини с дефаултни инсталации на Slackware (vm.swappiness не е пипан) - свърши ли паметта и започне ли да прехвърля страници от/към суап-а и производителността на машината рязко пада. "Рязко" - Х-а не може да смогне да си рендва прозорците, а харда не спира да дращи - ситуацията е такава за 5+ минути когато свършва търпението и следва ресет. Това не е точно очакваното поведение... ;)
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Ползвате ли swap.
« Отговор #17 -: Sep 21, 2010, 22:26 »
Чак пък ресет....трепеш процесите дето са се освинили, swapoff -a ; swapon -a и всичко си е както допреди малко :)

Но иначе ако системата започне редовно да влиза в суоп-а и с много, очевидно трябва да се купува още РАМ.
Активен

"Knowledge is power" - France is Bacon

morbid_viper

  • Напреднали
  • *****
  • Публикации: 266
  • Distribution: (Open)SUSE since v5.3 (1999)
  • Window Manager: KDE ориентиран
    • Профил
Re: Ползвате ли swap.
« Отговор #18 -: Sep 21, 2010, 23:32 »
напълно подкрепям gat3way за това… и аз съм си правил разни опити и мога да ти кажа, че махайки дяла за swap не печелиш нищо, освен някой мижав гигабайт от диска (така или иначе в момента дисковете са достатъчно големи за цената си)… разбира се губиш стабилност, но това зависи и от това за какво си ползваш машината. може да не ти е проблем да я рестартираш по всяко време, но за сървър, например,  това е не много желателно действие.

все пак направи си опит… спри използването на swap чрез swapoff -a за няколко дена и сам си направи наблюдението как ще се държи машината ти. може пък и да си по-щастлив така   :-)

Успех!
Активен

-------------------------------------------------
Blessed are we to taste this life of sin!
-------------------------------------------------
Registered Linux user #251276

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Ползвате ли swap.
« Отговор #19 -: Sep 22, 2010, 00:06 »
За сървъри можеш да си оставиш memory overcommit-ването и да си сложиш подходящ oom score на важните процеси като init или sshd и в крайна сметка да си караш и без swap...ама това са чекиджийски изпълнения, от които няма особено много смисъл. Ако се стигне дотам или има някое много криво конфигурирано приложение като например java такова с издънен heap size, или наистина оперативната памет е недостатъчна.
Активен

"Knowledge is power" - France is Bacon

arda_kj

  • Напреднали
  • *****
  • Публикации: 631
  • Distribution: Debian Sid/Unstable; Ubuntu 12.04
  • Window Manager: Gnome/KDE
    • Профил
Re: Ползвате ли swap.
« Отговор #20 -: Sep 22, 2010, 02:05 »
Аз ползвам swap file (1GB) вместо отделен swap дял, така ако нещо се наложи лесно си преоразмерявам swap file, което е доста по-гъвкаво отколкото да отделям цял дял за swap, т.к. ако трябва нещо да се променя swap дяла е доста по-голяма хамалогия.
Също съм дал vm.swappiness=1, т.е. да ползва минимум swap, и за сега нямам проблеми. Имам две машини с Убунту, на които пускам едни симулации, и които даже нямат swap (мързеше ме да го правя) и за сега не са се прецаквали нещата.

Между другото да питам някой знае ли дали има команди, с които да разчистиш кешираната информация от RAM-та?
« Последна редакция: Sep 22, 2010, 12:19 от arda_kj »
Активен

Debian Sid/Unstable; Ubuntu 12.04
"За да открием истината, е нужно поне веднъж в живота си да подложим всичко на съмнение" - Р. Декарт

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Ползвате ли swap.
« Отговор #21 -: Sep 22, 2010, 02:33 »
Не съм убеден, че е добра идея да правиш swappiness-а на 1, ама ти си знаеш :)

Моментално изчистване на кешовете: echo 2> /proc/sys/vm/drop_caches

Евентуално може да останат известен брой dirty страници, които можеш да commit-неш върху диска като викнеш sync - така ще освободиш останалите до няколко мегабайта памет.

И все пак това е лоша идея - освен ако не е за разни тестове, не виждам смисъл от това упражнение.
Активен

"Knowledge is power" - France is Bacon

Naka

  • Напреднали
  • *****
  • Публикации: 3395
    • Профил
Re: Ползвате ли swap.
« Отговор #22 -: Sep 22, 2010, 12:05 »
Един път, много отдавна, поради моя грешка в конфигурирането си бях забравил да си включа swap-a. работих така близо половин година без да се усетя. Нямаше никави проблеми.
Активен

Perl - the only language that looks the same before and after encryption.

arda_kj

  • Напреднали
  • *****
  • Публикации: 631
  • Distribution: Debian Sid/Unstable; Ubuntu 12.04
  • Window Manager: Gnome/KDE
    • Профил
Re: Ползвате ли swap.
« Отговор #23 -: Sep 22, 2010, 12:14 »
Не съм убеден, че е добра идея да правиш swappiness-а на 1, ама ти си знаеш :)

Моментално изчистване на кешовете: echo 2> /proc/sys/vm/drop_caches

Евентуално може да останат известен брой dirty страници, които можеш да commit-неш върху диска като викнеш sync - така ще освободиш останалите до няколко мегабайта памет.

И все пак това е лоша идея - освен ако не е за разни тестове, не виждам смисъл от това упражнение.

Благодаря за отговора за изчистването на кеша, това е по-скоро с тестови цели.

Иначе за vm.swappiness=1, ами то на машината, на която е това има 2GB RAM и едва ли може да стане някакъв проблем (това не е сървър), но ми стане интересно защо мяташ, че не е добре swappiness да е 1 :).
« Последна редакция: Sep 22, 2010, 12:20 от arda_kj »
Активен

Debian Sid/Unstable; Ubuntu 12.04
"За да открием истината, е нужно поне веднъж в живота си да подложим всичко на съмнение" - Р. Декарт

clovenhoof

  • Напреднали
  • *****
  • Публикации: 534
  • Distribution: Mac OSX 10.9.2
    • Профил
Re: Ползвате ли swap.
« Отговор #24 -: Sep 22, 2010, 12:54 »
Аз мисля, че РАМ-а е наличен за да използва според обема му.
Свободен РАМ = пропилян РАМ.
Активен

We are just a moment in time
A blink of an eye
A dream for the blind
Visions from a dying brain

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Ползвате ли swap.
« Отговор #25 -: Sep 22, 2010, 12:54 »
Аз мисля, че РАМ-а е наличен за да използва според обема му.
Свободен РАМ = пропилян РАМ.

 :D :D :D :D :D :D :D :D
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

clovenhoof

  • Напреднали
  • *****
  • Публикации: 534
  • Distribution: Mac OSX 10.9.2
    • Профил
Re: Ползвате ли swap.
« Отговор #26 -: Sep 22, 2010, 13:21 »
Вики-то ми го говори  8)

Цитат
Q) Why is Arch using all my RAM? 2G used while I'm just staring at my desktop?

A) Essentially, unused RAM is wasted RAM.
Many new users notice how the Linux kernel handles memory differently than they are used to. Since accessing data in RAM is much faster than from disk, the kernel caches recently accessed data in memory. The cached data is only cleared when the system begins to run out of unused memory and new data still needs to be loaded.
Perhaps the most common culprit of this confusion is the free command:
Command: free -m
$ free -m
             total       used       free     shared    buffers     cached
Mem:          1009        741        267          0        104        359
-/+ buffers/cache:        278        731     <-- NOTE THIS!
Swap:         1537          0       1537
It is important to note the -/+ buffers/cache: line -- a representation of the amount of memory that is actually in "active use" and the amount of "available" memory, rather than "unused".
In the above example, a laptop with 1G of total RAM appears to be using 741M of it, with naught but a few idling terminals and web browser open! However, upon examining the emphasized line, see that only 278M of it is in "active use", and in fact 731M is "available" for new data. Apparently, 104M of that "used" memory contains buffered data and 359M contains cached data, both of which can be cleared away if needed. Only 267M of the total is truly "free" of the burden of data storage.
The result of all this? Performance!
See this wonderful article if your curiosity has been piqued!
Активен

We are just a moment in time
A blink of an eye
A dream for the blind
Visions from a dying brain

arda_kj

  • Напреднали
  • *****
  • Публикации: 631
  • Distribution: Debian Sid/Unstable; Ubuntu 12.04
  • Window Manager: Gnome/KDE
    • Профил
Re: Ползвате ли swap.
« Отговор #27 -: Sep 23, 2010, 01:08 »
Прочетох малко инфо за swap в документацията на Убунту, оказва се, че има малка разлика ако използваш swap file вместо swap дял. Разликата е, че Убунтуту не поддържа хибернация ако се ползва swap file, което може да е неудобно. Чак сега разбирам защо скапаната хибернация на Убунтуту не ми работи.
Значи все пак има някакви разлики, ама на който не му трябва хибернация спокойно може да мине с swap file.
Активен

Debian Sid/Unstable; Ubuntu 12.04
"За да открием истината, е нужно поне веднъж в живота си да подложим всичко на съмнение" - Р. Декарт

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
swap
Настройка на програми
stok 2 2757 Последна публикация Apr 19, 2002, 16:33
от stok
SWAP
Настройка на хардуер
stealth01 6 3185 Последна публикация Oct 07, 2003, 18:20
от Warstomp
swap
Настройка на хардуер
svilkata 2 1916 Последна публикация Mar 20, 2004, 11:33
от n_antonov
swap
Настройка на хардуер
velomen 14 4434 Последна публикация Mar 27, 2004, 13:54
от velomen
Swap - da ili ne ???
Настройка на хардуер
Joro 15 5045 Последна публикация Aug 08, 2004, 00:29
от spacer