Автор Тема: Как в Альте правильно создать swap ?  (Прочитано 109193 раз)

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 104
Re: Как в Альте правильно создать swap ?
« Ответ #105 : 21.12.2018 15:10:13 »
Ведь должно работать аналогично кешу в RAM, кэш не нужен - удаился
Кому должно? Зачем нужна медленная операция с диском ради того, что может и не понадобится никогда? Кэш дисковый, кстати, тоже не удаляется, если никто RAM не просит.
Потому что я еще ни единого разу не видел, что бы своп хоть чуть меньше стал сам
Своп освобождается только тогда, когда занимающее его приложение завершает работу вообще, либо начинает работать (вообще могу ошибаться в деталях, но как-то так в целом). Только в последнем случае данные из свопа втягиваются в RAM. При этом, если RAM мало, то в своп уходит что-то ещё. Можно оставить на пару-тройку суток FireFox с кучей вкладок, а когда это всё выкушает своп, закрыть FF и убедиться, что своп таки освободится.

Оффлайн S3R_sqrT

  • Завсегдатай
  • *
  • Сообщений: 323
Re: Как в Альте правильно создать swap ?
« Ответ #106 : 21.12.2018 18:26:31 »
Кому должно? Зачем нужна медленная операция с диском ради того, что может и не понадобится никогда?
а когда это всё выкушает своп, закрыть FF и убедиться, что своп таки освободится.
Как я и писал своп не освобождается ни при каких условиях, не разу такого не видел. Он заполняется до отказа системы. Пусть бы оттуда данные стирались при заполненном, когда с RAM нужно что-то записать туда, но и того нет.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как в Альте правильно создать swap ?
« Ответ #107 : 21.12.2018 19:18:15 »
Ведь должно работать аналогично кешу в RAM, кэш не нужен - удаился
Кому должно? Зачем нужна медленная операция с диском ради того, что может и не понадобится никогда?

Может понадобится может не понадобится и гадание на кофейной гуще это не наш путь. Просчитывать нужно самый худший, самый экстремально жёсткий вариант, иначе когда-нибудь система на процессоре пятого поколения уйдёт в жесточайший фриз по причине бешено высокого iowait:
]# sar -P ALL 1 1
Linux 4.9.133-std-def-alt0.M80P.1 (core-i3-5005u.localdomain)   21.12.2018      _i686_  (4 CPU)

18:33:00        CPU     %user     %nice   %system   %iowait    %steal     %idle
18:33:01        all      1,52      0,00      0,25     72,47      0,00     25,76
18:33:01          0      2,00      0,00      0,00     26,00      0,00     72,00
18:33:01          1      1,00      0,00      1,00     98,00      0,00      0,00
18:33:01          2      2,94      0,00      0,98     66,67      0,00     29,41
18:33:01          3      2,02      0,00      0,00     97,98      0,00      0,00

Среднее:     CPU     %user     %nice   %system   %iowait    %steal     %idle
Среднее:     all      1,52      0,00      0,25     72,47      0,00     25,76
Среднее:       0      2,00      0,00      0,00     26,00      0,00     72,00
Среднее:       1      1,00      0,00      1,00     98,00      0,00      0,00
Среднее:       2      2,94      0,00      0,98     66,67      0,00     29,41
Среднее:       3      2,02      0,00      0,00     97,98      0,00      0,00

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 104
Re: Как в Альте правильно создать swap ?
« Ответ #108 : 21.12.2018 19:22:48 »
Как я и писал своп не освобождается ни при каких условиях, не разу такого не видел. Он заполняется до отказа системы. Пусть бы оттуда данные стирались при заполненном, когда с RAM нужно что-то записать туда, но и того нет.
Не надо мне рассказывать сказки.
top - 20:19:24 up 18 days,  1:29,  2 users,  load average: 0,03, 0,03, 0,00
Tasks: 259 total,   1 running, 258 sleeping,   0 stopped,   0 zombie
%CPU(s):  0,3 us,  0,3 sy,  0,0 ni, 99,2 id,  0,0 wa,  0,0 hi,  0,2 si,  0,0 st
KiB Mem:   3057464 total,  2066648 used,   990816 free,    60248 buffers
KiB Swap: 16777212 total,   655248 used, 16121964 free,   617216 cached

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
12905 mail      20   0  826768 595296   3212 S 0,000 19,47  10:47.55 clamd
21718 asy       20   0  689492 126736  15432 S 0,000 4,145   0:36.26 kmail
 4962 asy       20   0 2254592 109456  22188 S 0,664 3,580 405:14.37 telegram-deskto
Грохаем первых три поцесса, получаем
top - 20:21:13 up 18 days,  1:30,  2 users,  load average: 0,00, 0,02, 0,00
Tasks: 247 total,   1 running, 246 sleeping,   0 stopped,   0 zombie
%CPU(s):  0,2 us,  0,2 sy,  0,0 ni, 99,7 id,  0,0 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:   3057464 total,  1256808 used,  1800656 free,    61200 buffers
KiB Swap: 16777212 total,   542800 used, 16234412 free,   637432 cached
Как видим, примерно 100К свопа освободилось.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 104
Re: Как в Альте правильно создать swap ?
« Ответ #109 : 21.12.2018 19:26:29 »
Может понадобится может не понадобится и гадание на кофейной гуще это не наш путь. Просчитывать нужно самый худший
Как раз не надо, надо просто делать то, что требуется. Завершился процесс - освободили память, где бы она не была. Потребовались данные из свопа - достали из свопа. А если у нас память свободна, но в свопе что-то ненужное (и от работающего процесса), то пусть оно там и лежит, пока не потребуется. Раз лежит, давно не нужно.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как в Альте правильно создать swap ?
« Ответ #110 : 21.12.2018 19:54:51 »
Может понадобится может не понадобится и гадание на кофейной гуще это не наш путь. Просчитывать нужно самый худший
Как раз не надо, надо просто делать то, что требуется. Завершился процесс - освободили память, где бы она не была. Потребовались данные из свопа - достали из свопа. А если у нас память свободна, но в свопе что-то ненужное (и от работающего процесса), то пусть оно там и лежит, пока не потребуется. Раз лежит, давно не нужно.

asy, ты не хочешь слышать парня.
Услышь его, просто услышь:
(т.е. свап просто захламляется до полноты и система намертво виснет)

Оффлайн Rider

  • /usr/sbin/control
  • *******
  • Сообщений: 1 136
Re: Как в Альте правильно создать swap ?
« Ответ #111 : 21.12.2018 20:01:04 »
После заполнения свопа система виснет не намертво, через какое-то время отпускает.
правильно настроенный overcommit помогает обойти эту проблему.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 104
Re: Как в Альте правильно создать swap ?
« Ответ #112 : 21.12.2018 20:06:23 »
asy, ты не хочешь слышать парня.
Услышь его, просто услышь:
(т.е. свап просто захламляется до полноты и система намертво виснет)
Это ни он, ни ты не хотите услышать меня: своп кончается не просто так, кто-то съедает память. Правильная фраза звучит так: "помогите найти того, кто жрёт память до полного заполнения свопа". Его надо найти, потом понять, что с ним делать. Либо его можно найти посредством top, отсортировав по "shift+m", либо это может быть более плохой вариант со slab (это в своп не уходит, зато выталкивает туда всё остальное), тут надо смотреть slabtop и думать, что происходит.
« Последнее редактирование: 21.12.2018 20:08:08 от asy »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как в Альте правильно создать swap ?
« Ответ #113 : 21.12.2018 20:15:58 »
Слышу, он может не успеть посмотреть. Тут вовремя подсказывает Rider. Надо сначала настроить overcommit, а потом смотреть что вызывает утечку памяти. Чтобы система окончательно в ступор не ушла.

Оффлайн S3R_sqrT

  • Завсегдатай
  • *
  • Сообщений: 323
Re: Как в Альте правильно создать swap ?
« Ответ #114 : 21.12.2018 22:18:40 »
через какое-то время отпускает.
правильно настроенный overcommit помогает обойти эту проблему.
да, отпускает, через часа так 1-2... :-D
то как это настроить, чтоб ничего не напортить?

Кстати, есть такой костыль - https://github.com/Tookmund/Swapspace. Как раз своп добавлять на лету для протекающих приложений, а-ля FireFox. Только в ALT не собрано. Хотя, может, есть в autoimports.
ну, попробовать можно, если там есть настраиваемый максимум для расширения, чтоб все место не сожрать. Мне завести bug на сбрку для репозитория?

мне кажется, что загаживают все браузеры на движке хромиум, типа вивальди, спутник и другие. (а может и ФФ и фалкон тоже). но это лишь жалкое оправдание неустроенной и корявой работы линукс со своп файлом, что неприемлемо для использования альта обычным массово в категории обычного пользователя.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 104
Re: Как в Альте правильно создать swap ?
« Ответ #115 : 21.12.2018 22:27:54 »
мне кажется, что загаживают все браузеры на движке хромиум, типа вивальди, спутник и другие. (а может и ФФ и фалкон тоже). но это лишь жалкое оправдание неустроенной и корявой работы линукс со своп файлом, что неприемлемо для использования альта обычным массово в категории обычного пользователя.
Нет, это нормальная работа. Что прикажете делать системе, если у неё память жрут и жрут? Ну только oomkiller звать. Кстати, интересно, почему не зовётся по заполнению.
ну, попробовать можно, если там есть настраиваемый максимум для расширения, чтоб все место не сожрать.
Это не поможет. Съедят, что есть, и будет то же самое. Только позже.
Мне завести bug на сбрку для репозитория?
Завести всегда можно. :-)
« Последнее редактирование: 21.12.2018 22:30:30 от asy »

Оффлайн S3R_sqrT

  • Завсегдатай
  • *
  • Сообщений: 323
Re: Как в Альте правильно создать swap ?
« Ответ #116 : 21.12.2018 22:56:52 »
Это не поможет. Съедят, что есть, и будет то же самое. Только позже.
что же делать, как заставить своп подчищаться от хлама/кэша, когда он почти полный? ведь даже когда в память отгружается что-то - того копия так и остается хламом в свопе...

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 104
Re: Как в Альте правильно создать swap ?
« Ответ #117 : 21.12.2018 22:59:57 »
Это не поможет. Съедят, что есть, и будет то же самое. Только позже.
что же делать, как заставить своп подчищаться от хлама/кэша, когда он почти полный?
Мне вот сколько ещё раз повторить, что нет в свопе информации, которая никому не принадлежит? Если своп забит, то вся информация в нём принадлежит каким-то приложениям.
ведь даже когда в память отгружается что-то - того копия так и остается хламом в свопе...
Кто сказал такую чушь?
« Последнее редактирование: 22.12.2018 00:20:52 от asy »

Оффлайн Rider

  • /usr/sbin/control
  • *******
  • Сообщений: 1 136
Re: Как в Альте правильно создать swap ?
« Ответ #118 : 22.12.2018 10:09:13 »
через какое-то время отпускает.
правильно настроенный overcommit помогает обойти эту проблему.
да, отпускает, через часа так 1-2... :-D
то как это настроить, чтоб ничего не напортить?

Кстати, есть такой костыль - https://github.com/Tookmund/Swapspace. Как раз своп добавлять на лету для протекающих приложений, а-ля FireFox. Только в ALT не собрано. Хотя, может, есть в autoimports.
ну, попробовать можно, если там есть настраиваемый максимум для расширения, чтоб все место не сожрать. Мне завести bug на сбрку для репозитория?

мне кажется, что загаживают все браузеры на движке хромиум, типа вивальди, спутник и другие. (а может и ФФ и фалкон тоже). но это лишь жалкое оправдание неустроенной и корявой работы линукс со своп файлом, что неприемлемо для использования альта обычным массово в категории обычного пользователя.

Ну испортить то ничего не испортите, самое страшное что может случиться - это будет приходить ООМ Киллер невовремя.

Попробуйте, например, такие параметры (если нет свопа):
vm.overcommit_memory = 2
vm.overcommit_ratio = 180
vm.vfs_cache_pressure = 400
vm.swappiness = 0


Оффлайн Rider

  • /usr/sbin/control
  • *******
  • Сообщений: 1 136
Re: Как в Альте правильно создать swap ?
« Ответ #119 : 22.12.2018 10:11:10 »
О, у меня кстати такие же настройки установлены. Я уже и забыл когда их делал на ноуте.
Правда, это Sisyphus и ядро 4.19.