zRam + swap

sharddin
...говорит, что у меня много свободного кэша...
наоборот )
под кеш(buff/cache) система заняла порядка 6.5 гига оперативки, и примерно стока же она может высвободить(available) в любой момент.
на скока я могу судить, по данному выводу программы free, у вас нету проблем с нехваткой ОЗУ, и это нормальная ситуация когда система чтобы меньше дёргать жесткий диск кеширует в ОЗУ необходимые данные - http://linuxatemyram.ru/
systemd-swap здесь лишний и вряд ли он вам поможет, тем более что даже при наличии свопа система его не использует.
можете ради эксперимента сбросить кеш когда система начнёт тормозить и посмотреть изменится что либо или нет:
# sync; echo 3 > /proc/sys/vm/drop_caches

Для наглядности лучше использовать htop отсортировав по памяти или другому параметру.
red
sharddin
...говорит, что у меня много свободного кэша...
наоборот )
под кеш(buff/cache) система заняла порядка 6.5 гига оперативки, и примерно стока же она может высвободить(available) в любой момент.
на скока я могу судить, по данному выводу программы free, у вас нету проблем с нехваткой ОЗУ, и это нормальная ситуация когда система чтобы меньше дёргать жесткий диск кеширует в ОЗУ необходимые данные - http://linuxatemyram.ru/
systemd-swap здесь лишний и вряд ли он вам поможет, тем более что даже при наличии свопа система его не использует.
можете ради эксперимента сбросить кеш когда система начнёт тормозить и посмотреть изменится что либо или нет:
# sync; echo 3 > /proc/sys/vm/drop_caches

Для наглядности лучше использовать htop отсортировав по памяти или другому параметру.
Да я уже понял, что поторопился с горячкой - после этого запустил КС из стима в режиме наблюдения и поиграл в Ut2004... Всё без сучка и задоринки... Дело, думаю, в зависшем KTorrent-е было - тогда действительно тормозило...
nafanja
стоит помнить о зацикливании, zRam как и tmpfs может тоже уходить в свап, но свап то на zRam, в какой то момент происходит лавинообразная потеря памяти с конкретным подвисанием
Как Вам удалось добиться зацикливания? Отключить swap на диске совсем при маленьком ОЗУ? Так и то зацикливания не будет - просто забъёт swap до упора - вот и тормоза.

У меня даже на старом компе с 1 Гб ОЗУ замечательно swap'ится в zRAM, а когда он заканчивается - на жёсткий диск, в обычный раздел подкачки (тут порядок зависит от приоритетов выставленных в swapon -p) и ничего подобного описанного Вами - никакого зацикливания, а там ещё и /tmp обитает (нет в zRAM не стал пихать, засунул в tmpfs, оттуда автоматом в swap на zRAM перейдёт, если места не хватит). Ради эксперимента вытаскивал одну планку, оставляя 512 Мб ОЗУ - снова никакого зацикливания...Или может на старых ядрах такое поведение с зацикливанием происходило? Так вроде, когда-то пробовал - всё норм, на всех компах всегда zRAM юзал и юзаю - ОЗУ маленькие...

И в отличии от статьи, я скрипт сам писал: google-диск, чтоб минимум - только zRAM и простота, чтоб только установить/удалить. Ох если б я на скрипт systemd-swap наткнулся раньше...
Seregin_76
Как Вам удалось добиться зацикливания? Отключить swap на диске совсем при маленьком ОЗУ?
да, свап на диске был отключен.
смысла нет юзать одновременно и свап на диске и свап на zRAM.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Кто нибудь разбирался с обновлением zswap? После обновления изменился конфигурационный файл - я случайно обнаружил что zswap не работает, смотрел память free. Не было времени разбираться, методом тыка поменял в нем с 0 на 1 zram_enabled и swapfu_enabled. swapfu_enabled наверное можно было не менять, но не было время разбираться, я так понял, что это кроме памяти дополнительно файл для свопинга и работает и на btrfs.
Файла "/etc/systemd-swap.conf" не существует. За-то появился новый /etc/systemd/swap.conf. Ждем инструкций:)

И, btrfs не очень хорошо дружит с swap, даже если у вас удастся завести swap он буде хуже чем иной другой swap на ext или раздела. Также она буде немного портится.
"смысла нет юзать одновременно и свап на диске и свап на zRAM. " Почемуже? Swap в оперативке, да еще и сжатый буде куда быстрее обычного swap на жестком:)
Ulin
Ждем инструкций:)
да, там много уже что поменялось, как будет время поправлю или даже скорее всего перепишу по новому с более полным описанием утилиты systemd-swap

Ulin
И, btrfs не очень хорошо дружит с swap
в новой версии systemd-swap есть возможность использовать два вида swap-файлов универсальный(btrfs, ntfs и т.д.) и блочный(ext4, xfs и т.д.).

Ulin
"смысла нет юзать одновременно и свап на диске и свап на zRAM. " Почемуже? Swap в оперативке, да еще и сжатый буде куда быстрее обычного swap на жестком:)
swap на диске лучше всего использовать с zswap, не путать с zram.
zswap это прослойка между кешем(cache) в ОЗУ и дисковым свопом; zswap сжимает часть кеша предназначенного для свопирования и хранит его в своем пуле в ОЗУ и при определённых условиях скидывает его порциями в дисковый кешсвоп.

А zram хорош когда он сам по себе, то есть когда не используется дисковый своп.
Инструкций) сам юзаю, прикольно:)

/etc/systemd/swap.conf

################################################################################
# Defaults are optimized for general usage
################################################################################

################################################################################
# Zswap
#
# Kernel >= 3.11
# Zswap create compress cache between swap and memory for reduce IO
# https://www.kernel.org/doc/Documentation/vm/zswap.txt
#ZSWAP - технология похожая на ZRAM, но не совсем
#zswap это прослойка между кешем(cache) в ОЗУ и дисковым свопом; zswap сжимает часть кеша предназначенного для свопирования и хранит его в своем пуле в ОЗУ и при #определённых условиях скидывает его порциями в дисковый кеш.
#(+ к скорости чтения с жесткого) ( - используем cpu) (-+ немного используем ОЗУ)

zswap_enabled=1 # По умолчанию включено
zswap_compressor=lz4 # технология сжатия  lzo lz4 deflate lz4hc 842 - for Linux 4.8.4
zswap_max_pool_percent=25
zswap_zpool=z3fold

################################################################################
# ZRam
#
# Kernel >= 3.15
# Zram compression streams count for additional information see:
# https://www.kernel.org/doc/Documentation/blockdev/zram.txt
# Наш знакомый zram, описывать думаю не стоит
# (+- к скорости, в оперативке сидит...) (- cpu)

zram_enabled=0 # Активация Zram
zram_size=$(($ram_size/4))K # This is 1/4 of ram size by default.
# размер создаваемого раздела - по умолчанию 1/4 от размера ОЗУ, если маловато памяти то лучше поставить 1/3 или 1/2 (1/2 1/3 ???)

zram_streams=$cpu_count
#количество потоков сжатия - [s]по умолчанию используется один поток, если раскомментировать то количество потоков будет равно количеству ядер процессора.[/s]
#по умолчанию потоков на количество ядер

zram_alg=lz4 # технология сжатия  lzo lz4 deflate lz4hc 842 - for Linux 4.8.4
zram_prio=32767 # приоритет zram блока

################################################################################
# Swap File Universal
# loop + swapfile = support any fs (also btrfs)
# не юзал, не собираюсь)

swapfu_enabled=0
# File is sparse and dynamically allocated.
swapfu_size=${ram_size}K # Size of swap file.
# But you may don't like it, ex. in a case when you don't have much free space
swapfu_preallocated=0
# Don't use cow (btrfs)
swapfu_nocow=1
# Set directio for loop device
# If enabled, can be more safe in case of memory OOM
swapfu_directio=0
# Test setup:
# files with size 2G (mounted by loop), fs: btrfs
# fio: test 4k, randrw, iodepth 64, libaio, directio 1
# HDD 1TB 5400k
# loop directio 0        Behaviour                            IO/s
# prealloc=0 + nocow=0 - NOT stable speed                   ~ 2400
# prealloc=1 + nocow=0 - stable speed, HORRIBLY SLOW        ~  160
# prealloc=0 + nocow=1 - stable speed, can degraded by time ~ 3300
# prealloc=1 + nocow=1 - stable speed                       ~ 2000
# loop directio 1
# prealloc=0 + nocow=0 - not stable speed                   ~   50
# prealloc=1 + nocow=0 - not stable speed                   ~   69
# prealloc=0 + nocow=1 - not stable speed                   ~   63
# prealloc=1 + nocow=1 - not stable speed                   ~   75
# raw file (loop device are slow)
# prealloc=0 + nocow=0 - not stable speed                   ~ 7600
# prealloc=1 + nocow=0 - not stable speed                   ~   69
# prealloc=0 + nocow=1 - not stable speed                   ~ 13000
# prealloc=1 + nocow=1 - not stable speed                   ~  174

# File will not be available in fs after script start
# Make sure what script can access to this path during the boot process.
# Full path to swapfile
# ???
swapfu_path=/var/swap
swapfu_prio=-1024

################################################################################
# Swap File Chunked
# Allocate swap files dynamically
# Min swap size 256M, Max 16*256M
# Динамически генерирует swap файлы
# если включен zram то она генит zram файлики:)
swapfc_enabled=0 # 1 включаем:)
swapfc_frequency=1s         # Как часто проверять наличие свободного пространства подкачки (лучше поднять с 1 с)
swapfc_chunk_size=256M      # Размер файла
swapfc_max_count=16         # 0 - бесконечность (максимальное количество swap блоков(zram, zswap))
swapfc_free_swap_perc=15    # Добавим новый блок если свободно < 15%
                            # Remove chunk if free > 15+40% & chunk count > 2
swapfc_path=/var/.swapfc/ # директория swap блоков (zram я наблюдал в /dev, swap я наблюдал именно там)

################################################################################
# Swap devices
# Find and auto swapon all available swap devices
# (перевод) Найти и автоматической вызове swapon все доступные устройства подкачки (??)

swapd_auto_swapon=1
Также добавлю из своего опыта.
Создание Swap файлов (вручную)

1.Файл медленно(обращение к фс), раздел быстро (но не так уж чтоб вауу).
2.Файл требуется создавать не больше размера ОЗУ.
#Больше - Производительность ниже
#Меньше - ОК, а что с гибернацией не ясно ( правда еще не ясно что с ней будет когда озу забито, а в swap что-то есть)
4.BTRFS(Swap раздел) - http://help.ubuntu.ru/wiki/btrfs (Информация поновее чем в русской арч вики(в english уже не вспомню))
# пишут о разрушении фс:) предлагают "Отключать COW"
# в нашей русской вики пишут что btrfs не стабилен:) (когда это было...)
# можно попробовать, Swap File Universal (systemd)
5.От себя добавлю, (работает с hdd, на ssd swap класть нельзя:)) Раздел Swap лучше размещать ближе к началу жесткого(1. система, 2.swap(или 2.home, 3.swap)) (если swap файл находится на 1 разделе вместе с системой этому правилу можно и не придерживаться:))
 
Зарегистрироваться или войдите чтобы оставить сообщение.