Portál AbcLinuxu, 15. května 2025 22:14
cat /proc/sys/vm/swappiness
mi ukáže 0, ale moc chytrej z toho nejsem.
more /proc/swaps
mi ukáže /var/swap, type file, velikost má aktuálně asi 13 MB, a když jsem se mrknul kde to leží, tak jsem zjistil /dev/mmcblk0p2, což je právě druhá oblast na SD kartě Řešení dotazu:
swapoff -a
, nepatrně se to zlepšilo… Začínám uvažovat že zkusím nějakou rychlejší SD kartu, jinak nevím čím by to ještě mohlo být (btw: Jak se klonuje systém? # vypíše použitie pamäte (zvlášť je swap) free -h # swap sa dá aj vypnúť spawoff -a # a tiež aj zapnúť spawon -a
nebo ještě lépe jak mu řeknu, aby swapowal do RAMPouži zram, a vytvor si komprimované blokové zariadenie ktoré použiješ ako swap. Funguje to aj mimo x86/64. Ubuntu like distribúcie na to mali hotový balíček zram-config ktorý to zvládol aj sám. Ale v prípade swapovania multimédií to nemuselo priniesť žiadaný efekt keďže multimédiá boli zo svojej podstaty už komprimované.
$
) a příkazy ke spuštění jen pod rootem (tj. např. se sudo
) mřížkou #
.
Seznam swapovacích oddílů:
$ cat /proc/swapsNebo:
$ /sbin/swapon(Tenhle nevypíše ani hlavičku, pokud nejsou žádné.)
# mkswap oddíl
# swapon oddílTotéž¹, ale vypnout:
# swapoff oddíl
# swapon -a # swapoff -a
$ free -h
# zramctl -f -s velikostTakže např.:
# zramctl -f -s 200M
swapoff -av
zram
:
modprobe zram
zram
:
zramctl -f -s 512M(To vypíše něco ve tvaru
/dev/zramX
.)
mkswap /dev/zramX
swapon -v /dev/zramX
free -h
-v
.
² Volba -a
(vizte zramctl --help
dovoluje volbu algoritmu.
/usr/local/sbin/setup-zram-swap
(/usr/local
– programy a další systémové soubory nainstalované uživatelem; sbin
– programy pro správu systému, dá se říct, že ty, které většinou spouští jen root).
Tam napíšeme na první řádek #!/bin/sh
(říká nám, že pokud ho spustíme, bude jeho interpretrem /bin/sh
, tedy shell).
Potom už příkazy k nastavení (dovolím si používat komplikovanější příkazy než ty, které jsem ukazoval, ale víceméně je to totéž):
#!/bin/sh # Nahradí stávající swapovací oddíly jedním komprimovaným v RAM. zram_size="512M" # Ujistíme se, že je dostupný modul zram. modprobe zram || { echo "Nepodařilo se najít jaderný modul zram. Nenastavuji swap v zram." exit 1 } >&2 # Deaktivujeme výchozí swapy. swapoff -av # Nastavíme zram. zram_dev="$(zramctl -f -s $zram_size)" # Naformátujeme. mkswap "$zram_dev" # Zapneme nový swap. swapon "$zram_dev"Nastavte ho jako spustitelný (
chmod +x /usr/local/sbin/setup-zram-swap
).
A teď bych někoho poprosil, aby napsal, jak to má nastavit tak, aby se skript spustil po startu. Se SystemD se moc nestýkám, ale tůším, že takto:
[Unit] Description=Use zram for swaps [Service] Type=oneshot ExecStart=/usr/local/sbin/setup-zram-swap [Install] WantedBy=multi-user.targetTo uložíme do
/etc/systemd/system/zram-swap.service
.
Zkusíme pomocí systemctl start zram-swap
, zapneme trvale od příštího startu pomocí systemctl enable zram-swap
(disable
to vypne).
Díky, že jsi to sem vše (i o swapu) tak pěkně napsal. Je to inspirativní a užitečné.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.