Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Память не используется, а своп забит?  (Прочитано 9644 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Haron Prime

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 11313
  • Нетолерантный социопат
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #15 : 28 Апреля 2015, 23:19:23 »
для более эффективного использования RAM и SWAP можно попробовать zram
вот как работает эта штука - http://archlinux.org.ru/forum/topic/13907/ (описание для арча и парочка интересных ссылок)
и она таки реально работает! )))
┌─[haron@arch:~]-[23:03:16]
└─>zramctl
NAME       ALGORITHM DISKSIZE  DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram0 lz4             2G  132K  3,8K   60K       4 [SWAP]
« Последнее редактирование: 28 Апреля 2015, 23:21:52 от Haron Prime »

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #16 : 28 Апреля 2015, 23:42:42 »
Всем спасибо за комментарии, мысли полезные.

Haron Prime,
А, это где создается виртуальный архив в оперативке? Да, я думал об этом - а насколько процессор грузится при этом? Большой проблемы не должно быть, когда 4 ядра по 2 потока на каждое...
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Haron Prime

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 11313
  • Нетолерантный социопат
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #17 : 28 Апреля 2015, 23:48:02 »
Phlya,
типа того
своп находится в оперативке, но, в отличии от всех других способов, в данном случае он в сжатом виде (у меня используется lz4, по умолчанию lzo), что позволяет экономить память (данные ужимаются в 2-3 раза)
нагрузки на проц минимальны
у меня Phenom II X3 720 BE, слегка разогнанный (подключено 4-е ядро + поднята частота с 2,8 до 3,3 GHz) - нагрузка вообще незаметна
« Последнее редактирование: 28 Апреля 2015, 23:53:08 от Haron Prime »

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #18 : 29 Апреля 2015, 00:08:51 »
Haron Prime,
Ааа а просто своп нельзя тоже сделать обычный? А то у меня иногда сжимай - не сжимай, а в 8 Гб не влезет...
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Haron Prime

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 11313
  • Нетолерантный социопат
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #19 : 29 Апреля 2015, 00:13:51 »
можно, вот только я не знаю, как они будут вместе работать - какая часть данных будет грузиться в память, а какая на диск
Цитировать
не сжимай, а в 8 Гб не влезет...
если установить zram[size]=$[${sys[ram_size]}/2]K и vm.swappiness ~ 70, то получаем вместо 8-ми ~12 ГБ памяти

почитайте внимательно тот топик, ссылку на который я дал - там всё очень доходчиво описано и есть конкретные примеры в комментариях
« Последнее редактирование: 29 Апреля 2015, 00:15:45 от Haron Prime »

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #20 : 29 Апреля 2015, 00:50:27 »
Haron Prime,
ясно, спасибо!

Пользователь решил продолжить мысль 29 Апреля 2015, 00:59:01:
Раз уж на то пошло. Я побоялся делать своп на SSD-диске и сделал на HDD (у меня два, один такой, один такой). Но вот я почитал, вроде, советуют с современными SSD так уж сильно не трястись над каждым циклом чтения-записи - может, перенести своп на SSD? Есть опыт у кого-нибудь?
« Последнее редактирование: 29 Апреля 2015, 00:59:01 от Phlya »
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Dt-13

  • Забанен
  • Активист
  • *
  • Сообщений: 308
  • забанили за дело. Остываю...
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #21 : 29 Апреля 2015, 17:48:31 »
можно, вот только я не знаю, как они будут вместе работать - какая часть данных будет грузиться в память, а какая на диск
Цитировать
не сжимай, а в 8 Гб не влезет...
если установить zram[size]=$[${sys[ram_size]}/2]K и vm.swappiness ~ 70, то получаем вместо 8-ми ~12 ГБ памяти

интересная штука получается:
zRam — модуль ядра Linux (ранее известный как compcache). Он увеличивает производительность путем предотвращения подкачки страниц на диск, используя сжатое блочное устройство в оперативной памяти, пока не появится необходимость использовать файл подкачки на жёстком диске. https://ru.wikipedia.org/wiki/ZRam.

Параметры vm.swappiness\zram\swap - взаимозависимы. При достижении 70%-vm.swappiness, начнется сжатие и выгрузка ОЗУ с одновременной загрузкой в zram. Что произойдет, когда по условтю 70% еще происходит выгрузка, а дефолтная настройка zram 50% - невыполнима по достижении 30%, поскольку физически памяти уже нет. Зависли, затормозили или именно тогда включится приоритетность физического swap???

Или если vm.swappiness=70, то zram - менее 30, ну 25 к примеру...? Тогда хотя бы таким образом не допускать конфликта?

Пользователь решил продолжить мысль [time]29 Апрель 2015, 21:35:57[/time]:
Интересная штука, спасибо...

Пользователь решил продолжить мысль [time]29 Апрель 2015, 23:09:09[/time]:
попробовал на vmware: 4 ядра, ram 2.
vm.swappiness=90, zram - по дефолту 1\2 ram, приоритеты swap - видны ниже..
Запущено: Google-Chrom открыто 30 вкладок, Google-Crom 1 вкладка телек в он-лайн....
и только сейчас пошла запись на "физический" swap. Конфликтов по параметрам 90% и 50% - не возникло, ничего не зависло, но рывки (незначительные) появились...

dt-13@ubuntu:~$ cat /proc/swaps
Filename            Type      Size   Used   Priority
/dev/sda5                               partition   2094076   20652   -1
/dev/zram0                              partition   254496   249380   10
/dev/zram1                              partition   254496   249424   10
/dev/zram2                              partition   254496   249332   10
/dev/zram3                              partition   254496   249652   10
dt-13@ubuntu:~$
dt-13@ubuntu:~$
dt-13@ubuntu:~$
dt-13@ubuntu:~$ free
             total       used       free     shared    buffers     cached
Память:    2035984    1954908      81076      40240       2956     168220
-/+ буферы/кэш:    1783732     252252
Подкачка:    3112060    1017508    2094552
dt-13@ubuntu:~$

Пользователь решил продолжить мысль 29 Апреля 2015, 20:20:13:
Кто будет ставить, посмотрите:
https://www.kernel.org/doc/Documentation/blockdev/zram.txt
https://wiki.gentoo.org/wiki/Zram
https://wiki.debian.org/ZRam
« Последнее редактирование: 29 Апреля 2015, 20:20:13 от Dt-13 »
Не остыл - в бане на вечно...

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #22 : 30 Апреля 2015, 11:51:56 »
Dt-13,
Правильно я понял, что с zram можно и обычный своп оставить, и все работает корректно, в смысле, когда опертивки с учетом zram не хватает, используется своп-раздел?
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Dt-13

  • Забанен
  • Активист
  • *
  • Сообщений: 308
  • забанили за дело. Остываю...
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #23 : 30 Апреля 2015, 17:16:12 »
можно? - он и оставлен... на варе -НО!!! у них разные приоритеты: -1, 10 через скрипт, или или 5 по дефоолту... если поменять -1, 10 на 10, -1 к примеру...- начнет добить физ swap сразу, оставляя ram-swap типа в резерве... с этим пока не разбирался.

спасибо теме только почитал, опробовал на варе - и мне понравилось...
чем? - до применения zram, на этих параметрах (выше) ВАРЯ ВИСЛА, серый кардинал (экран) и вся машина тормозит... никогда на этих параметрах вари я не открывал СТОЛЬКО - закладок для чтения... телек в онлайн... так то параметры физ машины позволяют и бОльшее: i7-3610QM (4физ-8потоков), ram 16 - 13..герцы не 16..Гц
а так то - результат на варе: ничего не конфликтует, не виснет... по выбору лимита "физического" ram - начинает грузиться "физический" swap. В кавычках - патамучта ВАРЯ  :)
кароче: убрал важное - на внешние... снял образы - наверное лишнее, поскольку переустановить все - примерно то же время...
И СТАВЛЮ ЕТУ штучку  :)
вопрос себе - как вся эта хреновина поведет себя на физической машине ПРИ:
- загрузке на полную - раньше: работают 4-5 машин под варей, в разных задачах + на хосте телек или игрушка или просто тупо чет печатать...
- при том же самом, но и еще и уйти в гибернацию... - это самое прикольное. в при включенных параметрах - "дискомфорта" на vm - закрыл ноут - опустил экран на клаву - 10 минут: модем не выключился, usb-флеха активна... такого не было до сих пор. такого не было до сих пор. экран вниз - ноут потух. что сейчас - хз.
 :)
в любом случаее - ставлю, Експерементирую - отпишусь.
« Последнее редактирование: 01 Мая 2015, 02:19:43 от Dt-13 »
Не остыл - в бане на вечно...

Оффлайн Dt-13

  • Забанен
  • Активист
  • *
  • Сообщений: 308
  • забанили за дело. Остываю...
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #24 : 03 Мая 2015, 14:45:09 »
как бы промежуточные итоги:

dt-13@DNS:~$ !1982
sudo sysctl -a |grep swappiness
vm.swappiness = 70

по дефолту 50х50 менять не стал - просто лень  :) и как показывает предыдущий эксперимент в варе - само уйдет в swap...
dt-13@DNS:~$ cat /proc/swaps
Filename            Type      Size   Used   Priority
/dev/sda6                               partition   8025084   0   -1
/dev/zram0                              partition   1020520   0   5
/dev/zram1                              partition   1020520   0   5
/dev/zram2                              partition   1020520   0   5
/dev/zram3                              partition   1020520   0   5
/dev/zram4                              partition   1020520   0   5
/dev/zram5                              partition   1020520   0   5
/dev/zram6                              partition   1020520   0   5
/dev/zram7                              partition   1020520   0   5
dt-13@DNS:~$

вот то же интересная статейка - сжатие через граб: http://www.pivpav.ru/post/154
но... - используется lzo... надо порытся - где то в конфигах видел - как меняется на lz4, а сейчас так:
dt-13@DNS:~$ dmesg | grep zswap
...
[    4.486090] zswap: loading zswap
[    4.488054] zswap: lz4 compressor not available
[    4.488057] zswap: using lzo compressor
dt-13@DNS:~$



Пользователь решил продолжить мысль 03 Мая 2015, 14:52:28:
Haron Prime,
...а в 8 Гб не влезет...

у Вас моя конфигурация не пойдет...
при ram-8 swap-16, скорее всего подойдет что то вроде vm.swappiness = 30-40 но только с lz4...
« Последнее редактирование: 03 Мая 2015, 14:52:28 от Dt-13 »
Не остыл - в бане на вечно...

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #25 : 03 Мая 2015, 15:11:54 »
Вообще, вот zram я включил, пока под нагрузкой не тестировал, а так отличий не замечаю. Но читаю - может, zswap это лучше вариант... Черт его поймет.
Про lz4 там же с в статье написано, как включить, кстати.
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Dt-13

  • Забанен
  • Активист
  • *
  • Сообщений: 308
  • забанили за дело. Остываю...
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #26 : 03 Мая 2015, 15:33:48 »
 :) :)
...
Про lz4 там же с в статье написано, как включить, кстати.

в какой из всех?  :)

Пользователь решил продолжить мысль [time]03 Май 2015, 18:38:46[/time]:
а так то, сейчас запустил на варе 4 линуха графических х по 2 гега озу = 8
винду 8-ку - 4 озу
12
сама система - 1,5
и вот при 13,5 - началась писанина в swap, что то байт 300 с копейками...
это при lzo... переключусь на lz4 - отпишусь... но так то, то что происходит, на уровне ощущений - работает реально...


Пользователь решил продолжить мысль [time]03 Май 2015, 18:44:39[/time]:
а и не скромный вопрос: swap=2xram - oracle?  :)

Пользователь решил продолжить мысль [time]03 Май 2015, 18:51:12[/time]:
...пока под нагрузкой не тестировал, а так отличий не замечаю...

на днях поставлю ssd и озу 32... вот тогда погоняю... виртуалка - выедает все, что может...

Пользователь решил продолжить мысль 03 Мая 2015, 15:52:47:
и при этом интересно КАК оно будет работать, если на каждой vm включить zram.
« Последнее редактирование: 03 Мая 2015, 15:52:47 от Dt-13 »
Не остыл - в бане на вечно...

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #27 : 03 Мая 2015, 16:37:16 »
http://www.pivpav.ru/post/154
Да вот тут и написано.

Нет, оракл ни при чем, просто есть такая старая рекомендация вообще, ну, и правда иногда очень сильно приходится свопиться, так что 16 Гб свопа не лишние.
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Dt-13

  • Забанен
  • Активист
  • *
  • Сообщений: 308
  • забанили за дело. Остываю...
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #28 : 04 Мая 2015, 05:19:04 »
http://www.pivpav.ru/post/154
Да вот тут и написано....

не так то все и просто...
(Нажмите, чтобы показать/скрыть)

ну что же... я наверное на полученном результате останавливаюсь.
есть еще пара интересных статей:
http://fx-files.ru/archives/704 - настройка кэша
http://www.linux.org.ru/news/opensource/11251152 - новый механизм сжатия ZSTD (создатель тот же)
http://www.opennet.ru/opennews/art.shtml?num=40093 - уязвимости по теме
Не остыл - в бане на вечно...

Оффлайн Rassol2

  • Любитель
  • *
  • Сообщений: 64
    • Просмотр профиля
Re: Память не используется, а своп забит?
« Ответ #29 : 06 Мая 2015, 04:10:51 »
Haron Prime,
ясно, спасибо!

Пользователь решил продолжить мысль [time]29 Апрель 2015, 01:59:01[/time]:
Раз уж на то пошло. Я побоялся делать своп на SSD-диске и сделал на HDD (у меня два, один такой, один такой). Но вот я почитал, вроде, советуют с современными SSD так уж сильно не трястись над каждым циклом чтения-записи - может, перенести своп на SSD? Есть опыт у кого-нибудь?
года полтора как использую ssd под систему и своп.

Когда то тоже думал как вы жалко ssd дорого.
А потом подумал ну его в пень я что зря покупал хорошую вещь что бы не пользоваться ею?

Пока проблем не было, скоко циклов осталось не знаю да и не парюсь.

Все замечательно.
Мой ссд
rassol2@rassol2:~$ sudo smartctl -i /dev/sda5
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-44-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     SandForce Driven SSDs
Device Model:     KINGSTON SV300S37A60G
Serial Number:    50026B7238033DDB
LU WWN Device Id: 5 0026b7 238033ddb
Firmware Version: 505ABBF1
User Capacity:    60.022.480.896 bytes [60,0 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS, ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Wed May  6 04:09:14 2015 EEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

rassol2@rassol2:~$

 

Страница сгенерирована за 0.039 секунд. Запросов: 22.