Damus
linux_privacy · 4d
Дополнительный зашифрованный swap на 4 гига - для старых телефонов свопов много не бывает. Работать будет вмест...
linux_privacy profile picture
допольнительные тулзы для помощи RAM от перегрева.

# OOM-менеджер: earlyoom
sudo apt update
sudo apt install earlyoom
sudo systemctl enable --now earlyoom

Настройка в /etc/default/earlyoom:
EARLYOOM_ARGS="-m 8,8 -s 15,15 --prefer '(Web Content|Isolated Web|brave-browser|brave|firefox|firefox-esr|chromium|chromium-browser|waydroid|waydroid-full-ui)' --avoid '(phosh|phoc|systemd|ofono|NetworkManager|pulseaudio|lxc@android|gnome-session|dbus)' -r 3600"


# Скрипт периодического сброса кэша под давлением:

sudo nano /usr/local/bin/droidian-memory-guard.sh

#!/bin/bash
THRESHOLD=85
COOLDOWN=600

while true; do
MEM_USED=$(free | awk '/Mem:/ {printf "%.0f", ($2-$7)/$2*100}')
if [ "$MEM_USED" -gt "$THRESHOLD" ]; then
NOW=$(date +%s)
LAST=$(cat /run/droidian-memguard.last 2>/dev/null || echo 0)
if [ $((NOW - LAST)) -gt "$COOLDOWN" ]; then
sync
echo 3 > /proc/sys/vm/drop_caches
echo "$NOW" > /run/droidian-memguard.last
logger -t droidian-memguard "Caches dropped at ${MEM_USED}%"
fi
fi
sleep 60
done

sudo chmod +x /usr/local/bin/droidian-memory-guard.sh
sudo nano /etc/systemd/system/droidian-memguard.service

[Unit]
Description=Droidian Memory Guard
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/droidian-memory-guard.sh
Restart=always

[Install]
WantedBy=multi-user.target

sudo systemctl enable --now droidian-memguard

# Вырубим анимацию в Phosh

gsettings set org.gnome.desktop.interface enable-animations false

# Еще можно установить предел памяти для waydroid:

sudo nano /var/lib/waydroid/lxc/waydroid/config

lxc.cgroup.memory.limit_in_bytes = 900M

# Eсли хотите увеличить размер zram0, то:

sudo su
swapoff /dev/zram0
echo 1 > /sys/block/zram0/reset
echo 2500M > /sys/block/zram0/disksize
mkswap /dev/zram0
swapon /dev/zram0 -p 50 # или ставьте 100, если надо, чтобы zram0 работал на пределе без помощи swapfile