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

в общем -- сделал оверкоммит на 100, vm.swappiness = 40, релоад модулей systemd -- и вроде бы все норм пока что... -- отзывчивость системы на высоте
скрин htop

`--> sudo grep -R . /sys/kernel/debug/zswap
[sudo] пароль для safff:
/sys/kernel/debug/zswap/same_filled_pages:51914
/sys/kernel/debug/zswap/stored_pages:439833
/sys/kernel/debug/zswap/pool_total_size:747548672
/sys/kernel/debug/zswap/duplicate_entry:0
/sys/kernel/debug/zswap/written_back_pages:6
/sys/kernel/debug/zswap/reject_compress_poor:445232
/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:2
похоже для меня оверкоммит в 200 енто пичаль.
safocl
похоже для меня оверкоммит в 200 енто пичаль.
читал про оверкоммит,пока не совсем понял что и с чем его едят.
как его узнать и назначить?и какой нужен?
у меня система сейчас рекрасно работает,ничего не виснет,после того как сделал
/etc/sysctl.d/99-sysctl.conf
vm.swappiness=10
kernel.sysrq=1
kernel.panic=10
и отформатировал swap такое впечатление как будто компьютер новый купил.
но может и оверкоммит когда придется настроить..
Linux Forever!
Vadim
у меня система сейчас рекрасно работает,ничего не виснет,после того как сделал
а до ентого фризилося?

Vadim
читал про оверкоммит,пока не совсем понял что и с чем его едят.
ну енто показатель того какой объем относительно виртуальной памяти в процентах может запросить прога -- тоесть как я понимаю значение в 100 говорит, что система будет ориентироваться именно на 100% доступной реальной виртуальной памяти, при 200 -- будет выдавать основываясь на х2 реальной виртальной памяти.

ну тут весь смсл такой, что уже давно все выделение ральной виртуальной памяти происходит не сразу (если ты ессесна сразу не заполняешь ее) -- к примеру ты запрашиваешь в плюсах new char[1024*1024*1024*15] -- тоесть 15 гигов -- они не тратятся сразу прогой. -- Они потратятся только в случае если ты их будешь уже в проге заполнять данными.
По ентой причине на самом деле запрашиваемой памяти у тебя может быть хоть сколько угодно (даже больше реальной виртуальной памяти), но ограничивается относительно свободной виртуальной памяти умноженной на значение оверкоммита.

енто все мое видение -- я код данной настройки не смотрел в ядре -- по ентому там может чото и не так быть, но по логике енто собсна так и должно быть.
safocl
доступной реальной виртуальной памяти
Чтоб не было непонимания - это грубо общий обьем оперативы плюс свап.
И чтоб это ограничение учитывалось надо его включить
vm.overcommit_memory = 2

У меня нормально работает при 100 процентах, ограничение видно уже когда свободной памяти приблизительно 10-15 процентов. Тяжелые вкладки в браузере уже не откроются, виртуалка не запустится - сигнал что память кончается надо бы позакрывать или почистить что жрущее.
При этом интерфейс не тормозит и программы ранее открытые работают нормально, меня устраивает. И это имхо лучше чем вообще свап отключать и оом киллер ждать
Если надо чтобы работало при полном использовании оперативы, то тут на форуме hakawlad приводил рецепт настройки
safocl
а до ентого фризилося?
еще как,зависало так что и REISUB не всегда срабатывал.после того как в /etc/sysctl.d/99-sysctl.conf написал vm.swappiness=10 swap начинает подключаться про загрузке озу не ниже 85-87%.и то понемножку.не подвисает ничего,как будто другой компьютер купил.
Linux Forever!
safocl
и swap начинает заполнять в любом случае почти сразу – даже при заполнении оперативной памяти до 20-30%
Будет время проведи эксперимент - просто интересно … исходил из того, что у тебя, насколько понял, ОЗУ=7,8G
- деактивируй старый swap
- создай новый swap объемом 3,9G и активируй его
- пропиши в /etc/sysctl.d/99-sysctl.conf
vm.overcommit_memory=2
vm.overcommit_ratio=50
Чтобы не перегружаться запусти команду sudo sysctl -p /etc/sysctl.d/99-sysctl.conf
…. и проверь как в этом случае будет заполняться swap ….

PS - одно уточнение - когда заметишь, что начал заполняться swap, посмотреть вывод cat /proc/meminfo | grep Committed_AS
Ошибки не исчезают с опытом - они просто умнеют
vasek
у тебя, насколько понял, ОЗУ=7,8G
да все верно.

vasek
Будет время проведи эксперимент
ок -- сча как раз ентим и займуся.

п.с. сча решил чота потюнить оперативку -- частоту повысить, тайминги поужимать... чот ничо не вышло -- проц у меня i5 3330, оперативка 1333 частоты -- и нивкакую не захотела нормально работать при 1600 -- на такой частоте вроде все грузится -- но в работе лютейшие трабблы...

решил найти более менее внятный гайд, нашел, попробовал как там все рассказывается -- изменил чото одно -- сразу проверил на тесте оперативы -- проверяю на стандартных настройках, а у меня ошибка на одном и том же байте одной планки (из двух). -- странное дело, но после смены местами плашек памяти ошибка исчезает -- одна планка выдает ошибку только в одном слоте, хотя в том же слоте другая плашка не выдает ошибки, и та ошибочная плашка не выдает ошибки в другом слоте.
Очень странные дела. -- попробую в таком виде еще на ночь поставить -- вдруг не всегда проявляется
safocl
попробую в таком виде еще на ночь поставить – вдруг не всегда проявляется
дополнительно рекомендую установить rasdaemon и запустить его демон, может что и заметит
ras-mc-ctl  --summary | grep Memory
No Memory errors.

PS - раннее заполнение swap зависит от многих факторов, в том числе и от объема ОЗУ, объема swap и стратегии выделения памяти - а потому и интересно посмотреть, как изменится заполнение swap со значениями, которые предложил выше ... но возможно в твоем случае причина и в другом ...
Ошибки не исчезают с опытом - они просто умнеют
vasek
потому и интересно посмотреть, как изменится заполнение swap со значениями, которые предложил выше
так получается чо чото не хочет норм работать или вообще запускаться -- либо браузер, либо игра -- либо вообще сразу краш, либо просто зависает в непонятном полуфункциональном нерабочем состоянии.
поставил на 100 оверкоммит с тем же мелким свопом -- я уже и не помню -- зачем я делал тот своп 10 гигов...
 
Зарегистрироваться или войдите чтобы оставить сообщение.