gSpotx2f / ruantiblock_openwrt

Обход блокировок в OpenWrt с помощью Tor или VPN
GNU General Public License v3.0
204 stars 19 forks source link

Не хватает памяти. #15

Closed hulitolku closed 1 year ago

hulitolku commented 1 year ago

Openwrt 19.07 Mikrotik rb951ui-2hnd Памяти на борту: image Примонтировал флешку 4гб:

image

Но в логах все равно выдало: /usr/bin/lua: not enough memory и служба отключилась Ruantiblock Что я делаю не так?

gSpotx2f commented 1 year ago

Очевидно, нехватает оперативной памяти для хранения списка блокировок. Вы перенесли конфиги (текстовые файлы) на флэшку, но данные из этих конфигов загружаются в оперативную память. Чтобы ipset и dnsmasq могли работать со списками доменов и ip-адресов, они должны держать их в памяти. На скриншоте свободной памяти всего 18Мб! из 128. У вашего роутера недостаточно оп.памяти для полного списка блокировок. Попробуйте конфигурацию с минимальным списком - в wiki об этом написано (п.8).

hulitolku commented 1 year ago

А примонитрованный SWAP раздел на флешке не спасёт отца русской демократии? image

gSpotx2f commented 1 year ago

Очень мало свободной оперативной памяти. На роутере выполняются какие-нибудь дополнительные сервисы (торрент-клиент, ad-block, медиасервер и пр.)?

hulitolku commented 1 year ago

Нет. Только Wireguard-сервер, ruantiblock с тором и dnscypt-proxy2.

gSpotx2f commented 1 year ago

Вообще, tor тоже память отжирает (особенно если установлен tor-geoip). Память на скриншоте при запущенном ruantiblock или так всегда? Короче, пробуйте конфигурацию с минимальным списком:

uci set ruantiblock.config.ipset_clear_sets="1"
uci set ruantiblock.config.bllist_preset="antifilter-ip"
uci set ruantiblock.config.bllist_ip_limit="0"
uci set ruantiblock.config.bllist_summarize_ip="0"
uci set ruantiblock.config.bllist_summarize_cidr="0"
uci commit ruantiblock

если даже так не хватает памяти - то тут ничем не помочь. Только роутер с RAM >=256Мб... SWAP в данном случае не поможет. SWAP полезен для редко используемых данных занимающих память, здесь же списки блокировок используются постоянно, для каждого DNS-запроса или ip пакета. В wiki упоминается про swap в контексте работы парсера (lua или python) при обновлении, который в момент обработки реестра хранит промежуточные данные в памяти. Объективно, сейчас девайс с RAM 128Мб уже вряд ли справится с обработкой полного реестра.

hulitolku commented 1 year ago

Помогло на пару дней, потом пришлось ребутнуть роутер.