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

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
Re: Как в Альте правильно создать swap ?
« Ответ #60 : 17.09.2018 17:12:24 »
Как быть!? Какой мой алгоритм действий?
Зачем что-то делать? Чем мешает забитый невыгруженным хламом своп? Или таки идёт постоянный обмен со свопом?

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как в Альте правильно создать swap ?
« Ответ #61 : 17.09.2018 19:59:13 »
Как быть!? Какой мой алгоритм действий?
Зачем что-то делать? Чем мешает забитый невыгруженным хламом своп?

Тем что у него память полезно используется только на 35 процентов, а какое-то говнище жестоко кеширует. У него 8 гигов памяти. На 8-ми гигах в системе на sysv, держу две открытых Х-сессии и не знаю куда деть память, а он на 8-ми гигах задыхается в одной Х-сессии.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как в Альте правильно создать swap ?
« Ответ #62 : 17.09.2018 20:02:33 »
Как быть!? Какой мой алгоритм действий?

Надо выяснять, какой софт так жестоко кеширует и не использовать этот линуксовый говнософт:
сбрасывает по команде, тут же заполняет обратно
Конкретно ничего не могу сказать, - у меня в sysv-xfce такой жопы нет.
« Последнее редактирование: 17.09.2018 20:05:08 от Speccyfighter »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
Re: Как в Альте правильно создать swap ?
« Ответ #63 : 17.09.2018 20:15:37 »
Надо выяснять, какой софт так жестоко кеширует и не использовать этот линуксовый говнософт:
Запросто может быть, что система посчитала, что выгоднее память отдать под кэш. Правда, это не происходит сразу.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
Re: Как в Альте правильно создать swap ?
« Ответ #64 : 17.09.2018 20:17:38 »
Как быть!? Какой мой алгоритм действий?
Кстати, поставить collectd и раскмментирвать плагин swap в конфиге - там будет график обращений к свопу. Ну и остальное, что интересно покажется. Вот чем смотреть rrd... Я kcollectd использую.

Оффлайн S3R_sqrT

  • Завсегдатай
  • *
  • Сообщений: 323
Re: Как в Альте правильно создать swap ?
« Ответ #65 : 17.09.2018 21:45:12 »
Надо выяснять, какой софт так жестоко кеширует и не использовать этот линуксовый говнософт:
Сейчас в основном: Dolphin x5окон/вкладки, Kate/вкладки, Konsole x2{npm,su-}, Sublime, Gwenview x2шт. - это постоянно открыто (в Okular странная проблема - с 60+мб файлом до 600+растет, такчто закрыт); Yandex browser x2 (от 2+ до 50+ вкладок, но сейчас около 5-10), FirefoxDevEdition {localhost, 2+ вкладки) - почти все время открыты;  vivaldi, Falkon, Firefox, Sputnik - переодически открываю и закрываю.
Больше подозрение на Firefox, может vivaldi почему то.

Цитата:  asy
Кстати, поставить collectd и раскмментирвать плагин swap в конфиге - там будет график обращений к свопу. Ну и остальное, что интересно покажется. Вот чем смотреть rrd... Я kcollectd использую.

еще не знаю как, но попробую это сделать. спасибо. посмотрим, что выйдет...
« Последнее редактирование: 17.09.2018 21:48:37 от S3R_sqrT »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как в Альте правильно создать swap ?
« Ответ #66 : 17.09.2018 21:51:29 »
Надо выяснять, какой софт так жестоко кеширует и не использовать этот линуксовый говнософт:
Запросто может быть, что система посчитала, что выгоднее память отдать под кэш. Правда, это не происходит сразу.

Если бы оно у него было так:
сбрасывает по команде, тут же заполняет обратно

Моя система делает прямо до наоборот:
она считает что кеш нужно сбрасывать, хотя бы по чуть-чуть
$ free -m
             total       used       free     shared    buffers     cached
Mem:          8017       3594       4422          0         88       1149
-/+ buffers/cache:       2356       5660
Swap:            0          0          0
$ uptime
 21:14:59 up 15:47, 13 users,  load average: 1,22, 1,21, 1,21
$ free -m
             total       used       free     shared    buffers     cached
Mem:          8017       3587       4429          0         89       1132
-/+ buffers/cache:       2365       5651
Swap:            0          0          0
$ uptime
 21:33:55 up 16:06, 13 users,  load average: 1,14, 1,24, 1,20

При этом в системе открыто, два тяжёлых браузера и один из них очень тяжелый, konqueror как файловый менеджер, gwenview и pdf-вьювер.

Его расход памяти просто фантастический, - почти 6 гигабайт не считая кеша, а своп исчерпан более чем на 3/4, при 8-ми гигабайтах памяти
# grep MemFree /proc/meminfo; free -k
MemFree:         2158528 kB
             total       used       free     shared    buffers     cached
Mem:       8061592    5903336    2158256          0       3820    3204440
-/+ buffers/cache:    2695076    5366516
Swap:      4194300    3293864     900436

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как в Альте правильно создать swap ?
« Ответ #67 : 17.09.2018 22:22:08 »
Надо выяснять, какой софт так жестоко кеширует и не использовать этот линуксовый говнософт:
Сейчас в основном: Dolphin x5окон/вкладки, Kate/вкладки, Konsole x2{npm,su-}, Sublime, Gwenview x2шт. - это постоянно открыто (в Okular странная проблема - с 60+мб файлом до 600+растет, такчто закрыт); Yandex browser x2 (от 2+ до 50+ вкладок, но сейчас около 5-10), FirefoxDevEdition {localhost, 2+ вкладки) - почти все время открыты;  vivaldi, Falkon, Firefox, Sputnik - переодически открываю и закрываю.
Больше подозрение на Firefox, может vivaldi почему то.

У меня в moon сейчас более 1800 вкладок и память так не жрёт.
Смотрите и расход памяти, что у вас там съело почти шесть гигабайт не считая кеша.
Кстати, а зачем вам сразу четыре открытых браузера? Они по-минимуму легко могут сожрать два гигабайта памяти даже не поперхнувшись. Нет, я понимаю конечно, один браузер, ну и ещё tor. Но четыре сразу... Это как-то уже занадто.

Оффлайн S3R_sqrT

  • Завсегдатай
  • *
  • Сообщений: 323
Re: Как в Альте правильно создать swap ?
« Ответ #68 : 17.09.2018 23:44:50 »
Кстати, а зачем вам сразу четыре открытых браузера?
Яндекс - самый удобный, как основной. ФФдев- разработка сайта, такие в вкладки, ФФ- что не открывается в хромиум движке(проблема кодеков) и несколько сессий логинов, вивальди- группировка вкладок, ютюб+свои... спутник - отдельно для нескольких сайтов, также и фалкон, хромиум. у каждого свои плагины, основные сайты/вкладки.
+в последние годы я на веб-разработку перешел, где кросс-браузерность нужна как требование...
да и просто веселее, когда их много))

и маленькое уточнение: заметил, что свап никогда сам не чистится! вот открыл-закрыл я разных 20+ вкладок, свап на треть заполнился, но после закрытия он так и остается.
« Последнее редактирование: 18.09.2018 00:30:19 от S3R_sqrT »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
Re: Как в Альте правильно создать swap ?
« Ответ #69 : 18.09.2018 12:06:03 »
еще не знаю как, но попробую это сделать. спасибо. посмотрим, что выйдет...
Поставить и запустить вообще не проблема (то есть, это уже можно сделать, а потом думать дальше):
apt-get install collectd collectd-rrdtool
chkconfig collectd on

поправить конфиг, может быть доустановить плагины, но swap сразу есть. и не помню, плагин rrdtool раскомментирован по-умолчанию, или нет...

service collectd start

Проблема начнётся с тем, чем это всё потом смотреть. kcollectd хорошо, если система с kde, а вот если нет... Или пол-kde втянется, или какие-то другие смотрелки rrd ставить. Может web. collection4 в репозитории есть.
« Последнее редактирование: 18.09.2018 12:17:43 от asy »

Оффлайн S3R_sqrT

  • Завсегдатай
  • *
  • Сообщений: 323
Re: Как в Альте правильно создать swap ?
« Ответ #70 : 23.10.2018 01:08:03 »
В общем, замтил я следующее: если память переполняется, все лезит в свап. Как бы память не очищалась, свап неизменно остается забитым. Дже если все закрыто и вся память свободна, свап не уменьшается и в память оттуда никогда ничего не перемещается. Если сделать свапОн-Оф, данные переместятся в память, но будут там лежать "мертвой" кучей, даже если закрыть, или уже закрыты все программы и все, чьи данные попали в свап, всеравно те данные "мертво" будут лежать в памяти и sync && echo 3 > /proc/sys/vm/drop_caches и ничто другое их не очистит.

Ведь при достаточной памяти со свапа туда должны перемещаться данные, хотя бы наиболее используемые. При закрытии программы, если ее данные в свапе, свап должен очищаться от них.

Здесь чито-то сломано?

Оффлайн klark973

  • Завсегдатай
  • *
  • Сообщений: 662
  • Неспящий саппорт
Re: Как в Альте правильно создать swap ?
« Ответ #71 : 23.10.2018 01:53:17 »
Здесь чито-то сломано?
Если под рутом выполнить:
echo never >/sys/kernel/mm/transparent_hugepage/enabled
echo 0 >/sys/kernel/mm/transparent_hugepage/use_zero_page
swapoff -a
swapon -a
ситуация меняется? Лучше проверять на чистой загрузке с параметром huge=never. Сравните вывод (под рутом опять же) до и после этой операции:
cat /sys/kernel/mm/transparent_hugepage/enabled
sysctl -a 2>/dev/null | grep thp_
cat /proc/swaps
dmesg | grep zswap
zcat /proc/config.gz | grep TRANSPARENT
To moan or to solve -- that is the question!

Оффлайн S3R_sqrT

  • Завсегдатай
  • *
  • Сообщений: 323
Re: Как в Альте правильно создать swap ?
« Ответ #72 : 23.10.2018 22:50:27 »
cat /sys/kernel/mm/transparent_hugepage/enabled
sysctl -a 2>/dev/null | grep thp_
cat /proc/swaps
dmesg | grep zswap
zcat /proc/config.gz | grep TRANSPARENT

# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
[root@comp-core-i7-2670qm- ~]# sysctl -a 2>/dev/null | grep thp_
[root@comp-core-i7-2670qm- ~]# cat /proc/swaps
Filename                                Type            Size    Used       Priority
/swapfile                               file            4194300 180-1
[root@comp-core-i7-2670qm- ~]# dmesg | grep zswap
[    0.326867] zswap: loaded using pool lzo/zbud
[root@comp-core-i7-2670qm- ~]# zcat /proc/config.gz | grep TRANSPARENT
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_TRANSPARENT_HUGE_PAGECACHE=y

Оффлайн klark973

  • Завсегдатай
  • *
  • Сообщений: 662
  • Неспящий саппорт
Re: Как в Альте правильно создать swap ?
« Ответ #73 : 23.10.2018 23:14:36 »
Ну, OK: zswap штука отличная, выполняет роль свопа, сжимая всё в памяти, пока уже некуда девать, только тогда начинается реальный своппинг, и эта штука у вас уже включена. Значит, со swappines не стоило ничего менять, лучше вернуть на дефолт. Да, что-то очень сильно потребляет память, может даже течёт. Вот с этим и надо разбираться:

ps axo rss,comm,pid | awk '{ proc_list[$2] += $1; } END \
{ for (proc in proc_list) { printf("%d\t%s\n", proc_list[proc],proc); }}' |
sort -n | tail -n 10 | sort -rn | awk '{$1/=1024;printf "%.0fMB\t",$1}{print $2}'

Вся память задействуется по-максимуму, либо под буферы, либо под кэш, либо под zswap/zram, либо под tmpfs/ramfs, но все эти вещи автоматически вытесняются приложениями, когда им реально требуется. Нет ничего страшного в том, что данные оказываются выгруженными на дисковый SWAP. Но если это происходит постоянно, значит оперативки хронически не хватает, а если не помогает расширение физической RAM, значит что-то действительно не так.
To moan or to solve -- that is the question!

Оффлайн S3R_sqrT

  • Завсегдатай
  • *
  • Сообщений: 323
Re: Как в Альте правильно создать swap ?
« Ответ #74 : 25.10.2018 00:45:36 »
ps axo rss,comm,pid | awk '{ proc_list[$2] += $1; } END \
> { for (proc in proc_list) { printf("%d\t%s\n", proc_list[proc],proc); }}' |
> sort -n | tail -n 10 | sort -rn | awk '{$1/=1024;printf "%.0fMB\t",$1}{print $2}'
2188MB  plasmashell
2093MB  yandex_browser
963MB   vivaldi-bin
564MB   Web
415MB   krb5-ticket-wat
301MB   firefox-bin
294MB   kwin_x11
224MB   soffice.bin
173MB   dolphin
126MB   X

я всеже не могу понять:
1. почему, когда вся RAM свободна (80%), со свапа ничего туда, никогда не перемещается.
2. почему, когда ВСЕ программы закрыты, в свап всегда и все так и остается, то есть он просто захламляется до его предела.
3. если сделать swapon/swapoff, тогда данные, перешедшие в RAM там так и лежат мертвой, всем забытой кучей (когда все, что создало их закрыто и данные должны были быть удалены со свапа или пмяти).
« Последнее редактирование: 25.10.2018 00:48:59 от S3R_sqrT »