Proxmox – Jak snížit alokaci RAM pro MySQL v LXC

By | 08/08/2025

Last Updated on 08/08/2025 by administrator

Proxmox – Jak snížit alokaci RAM pro MySQL v LXC

Proxmox – Jak snížit alokaci RAM pro MySQL v LXC

Motivace:

Provozuji menší LXC kontejner na Proxmox, na kterém mi běží aplikace Speedtest pro měření rychlosti doma. Všiml jsem si, že po upgradu LXC konteineru, se mi zvýšila alokace paměti pro MySQL i přesto, že se provedl minor patch MySQL.

Původní verze MySQL – před apt-upgrade:

root@speedtest-u24:~# mysql --version
mysql Ver 8.0.42-0ubuntu0.24.04.1 for Linux on x86_64 ((Ubuntu))

Aktuální verze MySQL – po apt-upgrade:

root@speedtest-u24:~# mysql --version
mysql Ver 8.0.42-0ubuntu0.24.04.2 for Linux on x86_64 ((Ubuntu))

MySQL si tak alokovala přes 66% celkové kapatity z 512 MB RAM .

Proxmox - Jak snížit alokaci RAM pro MySQL v LXC

Není to bug, ale změna výchozí konfigurace v MySQL 8, která není přátelská k malým LXC kontejnerům. Stačí ale upravit pár parametrů v configu a MySQL bude běžet i na 512 MB RAM bez problémů.

Implementace:

Jak snížit alokaci RAM pro MySQL v LXC:

Vytvořit nový konfigurační soubor lowmem.cnf v /etc/mysql/conf.d/ složce :

vi /etc/mysql/conf.d/lowmem.cnf

a vložit do něj následující řádky níže:

[mysqld]
# Menší InnoDB buffer
innodb_buffer_pool_size = 64M
innodb_buffer_pool_instances = 1

# Menší redo log a log buffer
innodb_log_file_size = 32M
innodb_log_buffer_size = 8M

# Omezit počet spojení
max_connections = 20

# Menší dočasné tabulky
tmp_table_size = 16M
max_heap_table_size = 16M

# Vypnout performance schema (šetří RAM)
performance_schema = off

# Malá thread cache
thread_cache_size = 2

Provést restart MySQL:

systemctl restart mysql

Ověření úspory paměti:

root@speedtest-u24:~# top

Jak lze vidět spotřeba RAM pro MySQL klesla z 66 % na 27 %:

Proxmox - Jak snížit alokaci RAM pro MySQL v LXC

Zdroj:

[1] https://github.com/iistarion/lowmem-mysql/blob/master/low-memory-my.cnf

Dobrovolný dar

Ahoj čtenáři, rád bych tě poprosil aby ses zamyslel, co je vše potřeba ke vzniku článku.
Jakožto amatérský softwarový kutil musím:

1) Nejdříve vše nastudovat v cizích jazycích.
2) Vše následně prakticky vyzkoušet.
3) Svoje poznatky a zkušenosti napsat do článku který si právě přečetl v jazyku kterému rozumíš.
4) Dát článku hlavu a patu a publikovat.

Každý článek zabere několik hodin práce, za kterou mi nikdo neplatí.
Prosím zvaž, kolik času jsem ti právě ušetřil.
Pokud ti to stojí aspoň za cenu jedné kávy, tak mi ji kup.
Předem moc děkuji.

Příspěvek tak můžeš provést zasláním libovolné částky na mé číslo účtu 1558701011/3030 Nebo můžeš dar poslat kliknutím na tento odkaz Podpořit tento WEB , který tě přesměruje na mou platební bránu Revolut.

Dar je také možné poslat ve formě Bitcoinu na BTC peněženku bc1qqdf5fp42a7srwwhh2rut8zr9x4jm5c8fqc9qw6

Veškeré peněžní prostředky budu také používat na zlepšení kvality své webové tvorby a na psaní nových technických návodů. Za každý dar předem děkuji.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *