[РЕШЕНО] При использовании swap оперативная память не заполняется в первую очередь.

на счет zswap кстати -- не могу понять, как его регулировать -- вроде в вики указано, что надо управлять параметрами zswap.* -- однако таких параметров ядра в sysctl нет.
safocl
вроде в вики указано, что надо управлять параметрами zswap.*
Та и по умолчанию нормально
[oleg@vs220 ~]$ free -m
              total        used        free      shared  buff/cache   available
Mem:           7887        5454         404         861        2028        1302
Swap:         10011          11       10000
[oleg@vs220 ~]$ swapon
NAME      TYPE      SIZE  USED PRIO
/dev/sda1 partition 9,8G 11,6M   -2
[oleg@vs220 ~]$ sudo cat /sys/kernel/debug/zswap/stored_pages
[sudo] пароль для oleg:
2925
[oleg@vs220 ~]$ sudo cat /sys/kernel/debug/zswap/written_back_pages
0 

https://wiki.archlinux.org/index.php/Zswap
просто вся беда в том -- что я точно знаю, что у меня примерно под максимум оперативной памяти занимается запущенными прогами, однако свап уже активно используется намного раньше -- мне же нужно, что бы только когда совсем уже угроза аллоцирования сверх объема оперативки начал заполняться свап на диске
safocl
свап уже активно используется намного раньше
Сверху пример когда выделение оперативки подошло к ограничению и больше программе не выделится, свап при этом занят 11 метров.
Если долго работать мусора туда больше конечно попадет
vs220
free -m
`--> free -m
              total        used        free      shared  buff/cache   available
Mem:           7936        5306        2132          48         497        2333
Swap:         10239        2695        7544

vs220
swapon
`--> swapon
NAME           TYPE SIZE USED PRIO
/home/swap.bin file  10G 2,9G   -2

vs220
sudo cat /sys/kernel/debug/zswap/stored_pages
`--> sudo cat /sys/kernel/debug/zswap/stored_pages
524123

vs220
sudo cat /sys/kernel/debug/zswap/written_back_pages
`--> sudo cat /sys/kernel/debug/zswap/written_back_pages
6
у меня почему то всегда /sys/kernel/debug/zswap/written_back_pages равно 6
safocl
почему то
Более подробно можно глянуть
 sudo grep -R . /sys/kernel/debug/zswap
[sudo] пароль для oleg:
/sys/kernel/debug/zswap/same_filled_pages:1687
/sys/kernel/debug/zswap/stored_pages:4516
/sys/kernel/debug/zswap/pool_total_size:3952640
/sys/kernel/debug/zswap/duplicate_entry:0
/sys/kernel/debug/zswap/written_back_pages:0
/sys/kernel/debug/zswap/reject_compress_poor:0
/sys/kernel/debug/zswap/reject_kmemcache_fail:0
/sys/kernel/debug/zswap/reject_alloc_fail:0
/sys/kernel/debug/zswap/reject_reclaim_fail:0
/sys/kernel/debug/zswap/pool_limit_hit:0

ну и сами параметры настройки (стандартное ядро)
grep -R . /sys/module/zswap/parameters
/sys/module/zswap/parameters/same_filled_pages_enabled:Y
/sys/module/zswap/parameters/enabled:Y
/sys/module/zswap/parameters/max_pool_percent:20
/sys/module/zswap/parameters/compressor:lz4
/sys/module/zswap/parameters/zpool:z3fold
/sys/module/zswap/parameters/accept_threshold_percent:90

Но это уже детали, все равно слишком много в zswap попадает слишком много ядро вытесняет
safocl, выкинь этот zswap, верни все, что связано со swap по дефолту, ну разве что можешь немного уменьшить vm.swappiness до 40, не меньше (но лучше для проверки пока оставить по дефолту).
Рекомендую прописать в 99-sysctl.conf
vm.overcommit_memory=2
vm.overcommit_ratio=300
vm.oom_kill_allocating_task=1
и опробуй 2 варианта
1. с активированным swap
Если swap будет рано заполняться, смотри, какие процессы в него лезут.
2. с деактивированным swap и активированным earlyoom (параметры пока по дефолту - просто установить пакет и запустить демон)
Ну и оценись, какой вариант в твоей работе тебя устраивает больше. ... ну а дальше можно немного поиграться с параметрами, на выбранном варианте.
Ошибки не исчезают с опытом - они просто умнеют
vasek
выкинь этот zswap, верни все, что связано со swap по дефолту
vasek он уже по дефолту включен в арче давно, скорее всего и у вас если стандартное ядро и специально не выключали.
Перепутали наверно с ZRAM
vs220
Перепутали наверно с ZRAM
заклинило - читаю zswap, а в голове видится zram ... виноват ... (сбила с понталыка его фраза не могу понять, как его регулировать)

vs220
по дефолту включен
а zswap да, включен по дефолту
zgrep ZSWAP /proc/config.gz
CONFIG_ZSWAP=y
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.