The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Ошибка в ядре Linux 5.12-rc1, приводящая к потере данных в Ф..."
Отправлено Oxyd76, 05-Мрт-21 10:22 
Погнали... «Помощь голодающим детям Африки»:
cat /etc/sysctl.d/10-vm.conf :

vm.swappiness = 5
vm.vfs_cache_pressure = 50
vm.dirty_ratio = 3
vm.watermark_boost_factor = 15000
vm.watermark_scale_factor = 100

cat /etc/default/grub|egrep '^GRUB_CMDLINE_LINUX_DEFAULT' :

GRUB_CMDLINE_LINUX_DEFAULT="scsi_mod.use_blk_mq=1 --здесь поскипана куча неинтересной стандартной фигни--"

cat /etc/udev/rules.d/60-ioscheduler.rules :

# set scheduler for non-rotating disks
# noop and deadline are recommended for non-rotating disks
# for rotational disks, cfq gives better performance and bfq-sq more responsive desktop environment
## ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"
# set scheduler for rotating disks
## ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq-sq"
# set scheduler for NVMe
#ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="none"
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="bfq"
# set scheduler for SSD and eMMC
ACTION=="add|change", KERNEL=="sd[a-z]|mmcblk[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"
# set scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"

Ну и поставить systemd-swap, отсюда: https://github.com/Nefelim4ag/systemd-swap или из репозиториев вашего дистрибутива. И не забыть прочитать то что там написано, в ридми на гитхабе!
Конфиг данного пакета у меня выглядит так:

cat /etc/systemd/swap.conf :

################################################################################
# Defaults are optimized for general usage
################################################################################

################################################################################
# You can override any settings by files in:
# /etc/systemd/swap.conf.d/*.conf
################################################################################

################################################################################
# Zswap
#
# Kernel >= 3.11
# Zswap create compress cache between swap and memory for reduce IO
# https://www.kernel.org/doc/Documentation/vm/zswap.txt

zswap_enabled=1
zswap_compressor=zstd     # lzo, lz4, zstd, zlo-rle, zl4hc.
zswap_max_pool_percent=25 # 1-99
zswap_zpool=z3fold        # zbud z3fold

################################################################################
# ZRam
#
# Kernel >= 3.15
# Zram compression streams count for additional information see:
# https://www.kernel.org/doc/Documentation/blockdev/zram.txt

zram_enabled=1
zram_size=$(( RAM_SIZE/5 ))     # This is 1/4 of ram size by default.
zram_count=${NCPU}              # Devices
zram_streams=${NCPU}            # Compression streams
zram_alg=zstd                   # lzo, lz4, zstd, zlo-rle, zl4hc.
zram_prio=32767                 # 1 - 32767

################################################################################
# Swap File Chunked
# Allocate swap files dynamically
# For btrfs fallback to swapfile + loop will be used
# ex. Min swap size 512M, Max 8*512M
swapfc_enabled=1
swapfc_force_use_loop=0         # Force usage of swapfile + loop
swapfc_frequency=1              # How often check free swap space
swapfc_chunk_size=1024M         # Allocate size of swap chunk
swapfc_max_count=8              # 0 - unlimited, note: 32 is a kernel maximum
swapfc_min_count=0              # FC creates at start
swapfc_free_ram_perc=65         # Free % of memory for 1st FC
swapfc_free_swap_perc=10        # Add new chunk if free < 15%
                                # Remove chunk if free > 15+40% & chunk count > 2
swapfc_remove_free_swap_perc=55 # Remove FC at % free
swapfc_priority=50              # FC swaps priority
swapfc_path=/var/lib/systemd-swap/swapfc/ # Path to FC swaps

# Only for swapfile + loop
swapfc_nocow=1                  # Disable CoW on swapfile
swapfc_directio=1               # Use directio for loop dev
swapfc_force_preallocated=0     # Will preallocate created files
################################################################################
# Swap devices
# Find and auto swapon all available swap devices
swapd_auto_swapon=1
swapd_prio=1024

Вся эта безобразия прекрасно работает на говноноуте с 6-ю гигами памяти, HDD, на 5400 оборотов и нетбучным AMD-шным процом из 2008-го. Постоянно открыты браузер на полтинник вкладок, телеграм, element, музыкопроигрыватель, куча терминалов и чорт его знает что ещё.
Еще у меня cgroups переключены на v2, что, внезапно (хотя если подумать не совсем внезапно), так-же добавило отзывчивости (добавить параметры в GRUB_CMDLINE_LINUX_DEFAULT: cgroup_no_v1=all systemd.legacy_systemd_cgroup_controller)

Enjoy!

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру