Сайт | Скачать | Видео | Wiki

Автор Тема: zram (RAM-диск со сжатием данных), zswap (уменьшить количество обращений к SWAP)  (Прочитано 34643 раз)

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

Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #60 : 14 Февраль 2019, 21:09:59 »
sudo swapon -d /dev/zram0
У меня своп монтируется обычно, без -d, но при этом при освобождении свопа ОЗУ тоже освобождается, своп естественно на zram.
Вот данные после заполнения свопа:
Код
~ > free -h                                                                                                                                                                                                                                   
              total        used        free      shared  buff/cache   available
Mem:           3,9G        3,1G        175M        204M        559M        309M
Swap:          5,8G        2,2G        3,6G
~ > sudo zramctl
NAME       ALGORITHM DISKSIZE  DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram0 lzo           5,8G  2,1G  1,9G  1,9G       2 [SWAP]
А вот после освобождения:
Код
~ > free -h
              total        used        free      shared  buff/cache   available
Mem:           3,9G        1,3G        2,0G        156M        550M        2,2G
Swap:          5,8G        371M        5,4G
~ > sudo zramctl
NAME       ALGORITHM DISKSIZE   DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram0 lzo           5,8G 352,3M 91,8M 97,4M       2 [SWAP]

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #61 : 14 Февраль 2019, 23:33:15 »
  Еще один момент по поводу zRam.
В ссылках в этом сообщении http://forum.puppyrus.org/index.php?topic=21154.msg154073#msg154073 много упоминается параметр mem_limit. Там предлагается создавать zram в, скажем, 2Gb, а потом mem_limit в 1Gb. Чтобы не копаться там в массе информации, даю ссылку на конкретный пример https://gist.github.com/sultanqasim/79799883c6b81c710e36a38008dfa374

Зачем это делается? У меня сложилось мнение, что таким образом из массива сжимаемых и несжимаемых данных отбрасываются последние, чтобы бесполезно не занимать озу?

Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #62 : 15 Февраль 2019, 13:55:43 »
Еще один момент по поводу zRam
Еще 4 момента )) Понять бы точно что все это значит )
Цитата
compr_data_size  compressed size of data stored in this disk
mem_used_total   the amount of memory allocated for this disk. This
                  includes allocator fragmentation and metadata overhead,
                  allocated for this disk. So, allocator space efficiency
                  can be calculated using compr_data_size and this statistic. Unit: bytes
mem_limit        the maximum amount of memory ZRAM can use to store the compressed data
mem_used_max     the maximum amount of memory zram have consumed to store the data

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #63 : 18 Февраль 2019, 16:55:31 »
  Можно как-нибудь еще "увидеть" работоспособность zram на ПРА-ретро?
Код
cat /sys/block/zram0/mm_stat
Вывод в байтах. В таком порядке (можно грепнуть для удобства две первые строчки):
orig_data_size  compr_data_size  mem_used_total  mem_limit  mem_used_max  same_pages  pages_compacted  huge_pages



Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #64 : 18 Февраль 2019, 20:27:07 »
В качестве эксперимента задал MEM-LIMIT, а также vm.swappiness 90. Несколько дней смотрю уже.
Код
% zramctl --output-all
NAME DISKSIZE DATA COMPR ALGORITHM STREAMS ZERO-PAGES TOTAL MEM-LIMIT MEM-USED MIGRATED MOUNTPOINT
/dev/zram0
         1,7G  45M 14,9M zstd            4        294 16,1M      800M    20,5M     648B [SWAP]
Код
% free -m
              total        used        free      shared  buff/cache   available
Mem:           3498        1150        1593         256         754        1810
Swap:          1749          46        1703
Насчет swapon -d, наверно не надо, раз в документации о zram не упоминается discard.
https://www.kernel.org/doc/Documentation/blockdev/zram.txt
Цитата
6) Activate:
   mkswap /dev/zram0
   swapon /dev/zram0

   mkfs.ext4 /dev/zram1
   mount /dev/zram1 /tmp
« Последнее редактирование: 18 Февраль 2019, 20:44:50 от krasnyh »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #65 : 18 Февраль 2019, 21:55:07 »
Открыл в firefox около 600 вкладок.
Код
% zramctl --output-all
NAME DISKSIZE  DATA  COMPR ALGORITHM STREAMS ZERO-PAGES  TOTAL MEM-LIMIT MEM-USED MIGRATED MOUNTPOINT
/dev/zram0
         1,7G  1,7G 394,1M zstd            4      11493 407,8M      800M   408,1M    15,9K [SWAP]
Код
% free -m
              total        used        free      shared  buff/cache   available
Mem:           3498        3155         129          89         214          45
Swap:          1749        1745           3
Пришлось в конце убить firefox через xkill.

Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #66 : 18 Февраль 2019, 21:56:35 »
В качестве эксперимента задал MEM-LIMIT
Надо попробовать забить своп так, чтоб COMPR дошло до 800+, но при этом чтоб свободное место в свопе ещё осталось, то есть чем-то не особо сжимаемым. Очень интересно что произойдет))

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #67 : 18 Февраль 2019, 22:06:23 »
попробовать забить своп так, чтоб COMPR дошло до 800+
Это только если zram создать на 4Gb. Или mem_limit в 300 mb.

Очень интересно что произойдет))
Дым из компа?  :)
« Последнее редактирование: 18 Февраль 2019, 22:08:54 от krasnyh »

Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #68 : 18 Февраль 2019, 22:27:20 »
Это только если zram создать на 4Gb. Или mem_limit в 300 mb.
Да нет же. Скопируйте в tmpfs модули)

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #69 : 18 Февраль 2019, 22:31:07 »
Скопируйте в tmpfs модули
Мне показалось, что когда DATA сравнялось с DISKSIZE, COMPR тоже остановился. Но долго я не проверял - фризы.

Upd. Имеется в виду использовать что-то заведомо несжимаемое, например модули в tmpfs? Мне кажется, что я не пойму результат. Если бы была какая-то статистика по сжимаемыми и несжимаемым данным. В том смысле, где посмотреть что попало в zram, а что нет.
« Последнее редактирование: 18 Февраль 2019, 22:41:00 от krasnyh »

Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #70 : 18 Февраль 2019, 23:12:41 »
В том смысле, где посмотреть что попало в zram, а что нет.
Да это не важно. Если много залить, то часть все равно уйдет в zram. Я просто хотел понять как поведет себя ядро, если в свопе место ещё будет, а COMPR, который фактически равен размеру zram в ОЗУ, упрется в mem limit.

Оффлайн Gerasats

  • Ветеран
  • *****
  • Сообщений: 1055
  • Репутация: +32/-0
  • Короче, я полный оппортунист.....и по фиг!
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #71 : 18 Февраль 2019, 23:20:16 »
Господа вы это на полном серьезе пишите или по приколу, какое освобождение памяти? ну да если у вас стоит SSD последнего поколения 3D+ на который воткнули swаp или zram, вы можете хоть что-то ощутить в задачах ну допустим по перекодированию видео, ну большой файл mkv будет перекодироваться не 3 часа 30 минут, а аж целых 3 часа 29минут и 30 секунд, я уже не пытаюсь даже упоминать частоту работы памяти, шины и блока обмена с носителями (на которых это добро поместили) .....хотя ладно боритесь, но читать весело  :D
« Последнее редактирование: 18 Февраль 2019, 23:21:57 от Gerasats »
Desktop:  AMD Phenom II X4 965 Black Edition 3400MHz, HyperX Limited Editions - 8GB Module - DDR3 1600MHz, ASRock N68C-GS FX, GeForce GT240 PCIe, LG Electronics IPS277L-BN, SSD Kingston SSDNow V300 (А400) 60GB (250GB) 2.5" SATAIII MLC
Netbook: Vinga Twizzle J116
Tablet:Samsung SM-T290/T295 Galaxy Tab A 8.0, Phone: Samsung A5(2018)
OS - Imppup64-9.6.1 frugal install, Linux Mint 20.2 "Uma" Cinnamon, Windows 11 rel. 22000.282, OpenElec, Android- 7.1 - 12.0

Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #72 : 18 Февраль 2019, 23:47:49 »
если у вас стоит SSD последнего поколения 3D+ на который воткнули swаp или zram
zram на SSD?  ???
хотя ладно боритесь, но читать весело
Вас читать не менее весело :)
можете хоть что-то ощутить в задачах ну допустим по перекодированию видео
Для этой задачи от zram никакого профита.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #73 : 19 Февраль 2019, 00:10:36 »
Для статистики. Изменил zram 1:1. Тест тот же (600 вкладок). Все в предел железа уперлось, убил firefox под конец.
Код
% zramctl --output-all
NAME DISKSIZE  DATA  COMPR ALGORITHM STREAMS ZERO-PAGES  TOTAL MEM-LIMIT MEM-USED MIGRATED MOUNTPOINT
/dev/zram0
         3,4G  1,8G 457,7M zstd            4      18270 472,3M      800M   512,4M   112,4K [SWAP]
Код
% free -m
              total        used        free      shared  buff/cache   available
Mem:           3498        3175         156          76         166          56
Swap:          3498        1781        1716
upd. С включенным mem_limit выдерживается степень сжатия,  DATA/COMPR?
Отсылка к http://forum.puppyrus.org/index.php?topic=21154.msg154073#msg154073, где часто упоминается mem_limit.

upd. Опять же для статистики, MEM-LIMIT в отношении к DISKSIZE как 1:3 (тот же тест):
Код
% zramctl --output-all
NAME DISKSIZE  DATA  COMPR ALGORITHM STREAMS ZERO-PAGES  TOTAL MEM-LIMIT MEM-USED MIGRATED MOUNTPOINT
/dev/zram0
         1,7G  1,7G 424,7M zstd            4      14237 439,5M      500M   439,6M    64,1K [SWAP]
Код
% free -m
              total        used        free      shared  buff/cache   available
Mem:           3498        3107         157          74         233          91
Swap:          1749        1714          34
« Последнее редактирование: 20 Февраль 2019, 16:52:53 от krasnyh »

Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: zswap - уменьшить количество обращений к SWAP
« Ответ #74 : 19 Февраль 2019, 10:42:57 »
Код
~ $ free -m
              total        used        free      shared  buff/cache   available
Mem:           2000        1279          65         150         655         416
Swap:          1400         687         712
Код
~ $ cat /proc/swaps 
Filename                                Type            Size    Used    Priority
/dev/zram0                              partition       1434060 704276  100
Код
ALGORITHM DISKSIZE   DATA COMPR TOTAL STREAMS MOUNTPOINT MEM-LIMIT MEM-USED ZERO-PAGES
lzo           1,4G 304,4M   96M  100M       2 [SWAP]          100M     100M      30040
А теперь вопрос, куда запихнулось 687 мб, если DATA всего 304. ZERO-PAGES?
Причем интересно, COMPR и MEM-USED остановились, а DATA продолжало увеличиваться.

P.S. Своп освободил, COMPR уменьшился, а MEM-USED так и остался 100M.

P.P.S С лимитом dmesg забит вот этим:
Код
[  636.891597] Write-error on swap-device (251:0:1943184)
« Последнее редактирование: 19 Февраль 2019, 11:12:27 от Ильфат »