Я бы хотел уточнить пару моментов.
1 - у меня арч и systemd, в убунте файл для записи этих параметров находится в другом месте - /etc/sysctl.conf
2 - дополнительно к этим параметрам нужно прописать ещё один
vm.overcommit_memory = 1
значение - 1 или 2
у меня он уже был прописан ранее, потому я о нём не писал
также можно изменить значение (в сторону уменьшения!) двух вышеуказанных параметров - можно прописать любое значение, лишь бы оно нацело делилось на 4096
у меня на данный момент установлено 2097152 (512x4096)
после добавления данных параметров нужно выполнить в терминале
# sysctl -p
чтобы применить изменения без перезагрузки компьютера
ну и напоследок - можно ещё попробовать изменить
I/O sheduler (планировщик задач ввода/вывода)
посмотреть текущий планировщик можно командой
cat /sys/block/sda/queue/scheduler
можно установить различные планировщики для разных дисков - оправдано, если в системе одновременно HDD и SSD
впрочем, всё это легко гуглится
P.S> на данный момент у меня использованы вот такие твики
# Изменить размер дискового кеша и поведение подкачки.
vm.vfs_cache_pressure = 100
vm.swappiness = 50
# USB Speed
vm.dirty_ratio = 5
vm.dirty_background_ratio = 3
# Настраиваем управление выделением памяти
vm.overcommit_ratio = 100
vm.overcommit_memory = 1
vm.dirty_background_bytes = 2097152
vm.dirty_bytes = 2097152
# etc
fs.inotify.max_user_watches = 524288
kernel.sysrq = 1
kernel.panic=10
*swappiness установлено 50, т.к. в системе используется zramctl