mirror of
https://codeberg.org/postscriptum/gemlog.git
synced 2026-02-18 22:12:40 +00:00
128 lines
No EOL
8.3 KiB
Text
128 lines
No EOL
8.3 KiB
Text
# Оптимізація енергоспоживання в середовищі GNOME
|
||
|
||
В умовах перебоїв з електропостачанням, дібрався й до оптимізації середовища GNOME бо останнім часом запустити десктоп в мене можливості немає взагалі - сиджу більшість часу на батареї з нетбуком.
|
||
|
||
Нижче деякі нотатки, щоб потім не забути повернути назад. Наскільки вони ефективні на практиці - поки не знаю, але думаю в них є сенс, щоб спробувати.
|
||
|
||
## Режим споживання
|
||
|
||
Найпомітніша комплексна опція, доступна з правого кута меню:
|
||
|
||
> Power Mode : Power Saver
|
||
|
||
## Зменшення частоти оновлення екрану
|
||
|
||
> Settings > Display > Refresh Rate : 40.01 Hz
|
||
|
||
=> https://linux.org.ua/index.php?topic=12341.0 Моє питання щодо доречності на LOU
|
||
|
||
## Вимкнення зайвих функцій пошуку
|
||
|
||
Це стосується як основного меню (пошук по файлам, закладкам, програмним інтеграціям) так і самих програм (наприклад в браузері Firefox можна вимкнути чимало функціональності з авто-доповнення)
|
||
|
||
* треба розкрити тему прикладами за нагоди, бо я ще вимикав фонову службу взагалі, але забув яку саме
|
||
|
||
## Вимкнення анімацій
|
||
|
||
Тут я поставив dconf-editor, де вимкнув анімації вікон:
|
||
|
||
> /org/gnome/desktop/interface : enable-animations
|
||
|
||
## Оптимізація бекенду GTK
|
||
|
||
Поки не дібрався, але в мене є поки теоретичні наміри знизити частоту оновлення фреймів середовища GTK, а звідти - сумарне споживання енергії програмами на його основі.
|
||
|
||
Іншими словами, програми запускають петлі прослуховування подій (англ. "event loops"), коли я тільки починав розробку то наплодив чимало таких споживачів процесорного часу, замість використання вказівників (англ. "pointers"). Думаю не один такий, і це в мене ще був відносно потужний комп. Сучасні "вайб-кодери" на геймерських коритах взагалі не чули про заощадження циклів запису SSD, оптимізацію пам'яті та процесорного часу.
|
||
|
||
Наскільки це можливо зробити на бекенді GTK через якийсь dconf і без використання API програм - ще не знаю, але спробую в цій темі розібратись. Думаю, що глобальне середовище має містити такі конфіги, TODO.
|
||
|
||
## Інше
|
||
|
||
Не пов'язані напряму з GNOME, але релевантні в контексті енергозаощадження, поради.
|
||
|
||
### zRAM
|
||
|
||
На лібері вплила згадка про zram, який по суті стискає дані при розміщенні їх на диску. Звісно, це корисно, але не тоді коли я сиджу на батареї та "рахую кількість кадрів"
|
||
|
||
``` bash
|
||
$ zramctl
|
||
/dev/zram0 lzo-rle 7,2G 885,2M 262,4M 270,4M [SWAP]
|
||
```
|
||
* 885,2M - реальний об'єм
|
||
* 262,4M - об'єм після стиснення
|
||
* 270,4M - реальна кількість фізичної оперативної пам'яті (включаючи метадані)
|
||
|
||
Видалив так:
|
||
|
||
``` bash
|
||
sudo dnf remove search zram-generator-defaults
|
||
reboot
|
||
```
|
||
|
||
Перевірити, чи стиснення дійсно деактивоване можна командою:
|
||
|
||
``` bash
|
||
$ cat /sys/module/zswap/parameters/enabled
|
||
N
|
||
```
|
||
|
||
Після цього додав класичний swap file. Є два способи, нормальний:
|
||
|
||
``` bash
|
||
sudo fallocate -l 10G /swapfile
|
||
sudo chmod 600 /swapfile
|
||
sudo mkswap /swapfile
|
||
sudo swapon /swapfile
|
||
free -h
|
||
```
|
||
|
||
і "федорівський" (BTRFS/CoW)
|
||
|
||
``` bash
|
||
sudo truncate -s 0 /swapfile
|
||
sudo chattr +C /swapfile
|
||
sudo btrfs property set /swapfile compression none
|
||
sudo dd if=/dev/zero of=/swapfile bs=1M count=10240 status=progress
|
||
sudo chmod 600 /swapfile
|
||
sudo mkswap /swapfile
|
||
sudo swapon /swapfile
|
||
free -h
|
||
```
|
||
* зміна властивостей компресії може не підтримуватись
|
||
|
||
Щоб розділ підключався після перезавантаження системи:
|
||
|
||
``` /etc/fstab
|
||
# <file system> <mount point> <type> <options> <dump> <pass>
|
||
/swapfile none swap sw,nofail 0 0
|
||
```
|
||
* nofail я останнім часом додаю на всяк випадок, бо в мене колись були трабли під час завантаження системи, якщо диск раптом вийде з ладу (може для swap це не актуально, не перевіряв)
|
||
|
||
### Let's decrypt
|
||
|
||
Впровадження TLS на публічні дані викликає в мене дедалі більше роздратування. Просто звертаю увагу на опціональне використання HTTP замість HTTPS там, де це можливо: радіо, відео стріми та інше.
|
||
|
||
Частково освітлював цю тему в контексті примусового шифрування Yggdrasil, через що я більше не користуюсь локально встановленим роутером, пересилаючи запити 0200::/7 на проксі-сервер:
|
||
|
||
=> thoughts-on-tls-on-yggdrasil-and-mycelium-networks.gmi Думки стосовно TLS в мережах Yggdrasil та Mycelium
|
||
|
||
Схожу параноїдальну болячку має й протокол Gemini, через що я знову задумуюсь про використання форку Geminict або повернення до протоколу Nex, хоча він - не зручний для інтерактивних ресурсів і ще більш далекий від заміни собою Веб:
|
||
|
||
=> nex-lightweight-gemini-alternative.gmi Протокол NEX - легка альтернатива Gemini
|
||
|
||
### Розподілені мережі
|
||
|
||
Я користуюсь двома оверлейними мережами: Yggdrasil та Mycelium, які через свою децентралізовану природу - не є енерго-ефективними за визначенням, але й відмовитись я від них теж не можу. Зате, можу оптимізувати: днями наткнувся на цікаву нотатку howto.ygg стосовно вимкнення інтерфейсу Multicast для клієнтських роутерів, що підключаються до вузлів напряму:
|
||
|
||
=> enhancing-privacy-in-linux-apps.gmi Підвищення рівня приватності в застосунках Linux
|
||
|
||
* як бачимо, життя "на широку ногу" - не тільки потенційна дірка в безпеці, але й марнотратство енергії
|
||
|
||
### Корисні посилання
|
||
|
||
=> https://www.reddit.com/r/linux/comments/a4o03z/get_the_best_out_of_you_battery_on_linux/?tl=uk Вичави максимум з батареї на Linux (машинний переклад)
|
||
|
||
## Дивіться також
|
||
|
||
=> diy-online-router-ups-based-on-interactive-pc-ups.gmi Саморобний online-UPS для роутера на базі 12В безперебійника для ПК
|
||
=> diy-router-ups-based-on-usb-power-bank.gmi Саморобний UPS для роутера на базі пауер-банку USB |