Все дистрибутивы GNU / Linux, которые я тестировал до сих пор, имеют проблему, заключающуюся в том, что всякий раз, когда оперативная память заполняется, и система начинает меняться, весь рабочий стол и графический пользовательский интерфейс чертовски перестают отвечать на запросы, так что иногда мне приходится ждать около 5-10 секунд после переместив физическую мышь, пока указатель мыши не начнет двигаться.
Это своего рода раздражающее поведение, особенно в системах с низким быстродействием.
Есть ли способ придать некоторым приложениям / заданиям, таким как среда рабочего стола и т. Д., Более высокий приоритет, чтобы оставаться в оперативной памяти, чем другим приложениям, чтобы приложение, фактически загружающее всю память, было заменено перед средой рабочего стола и т. Д.?
РЕДАКТИРОВАТЬ: я говорю о случае, когда вся оперативная память используется, поэтому он всегда начнет подкачку, если он не отключен (я не хочу, чтобы процессы были случайно убиты). У меня была эта проблема не только в средах с низкой оперативной памятью, но и с 8 ГБ оперативной памяти на моем настольном компьютере, частично из-за множества виртуальных машин, частично из-за утечки памяти. ZRAM также не является решением, так как он только задерживает проблему. Единственное решение, которое я могу придумать для этой проблемы, это некоторая утилита пользовательского пространства или API ядра, которая позволяет вообще поменять местами определенные задания или, по крайней мере, сделать это очень маловероятным. Кто-нибудь знает другое решение или знает что-либо о таком инструменте или API, которые существуют или планируются?
2-я РЕДАКТИРОВАТЬ: ulatencyd , похоже, не работает с более новыми версиями systemd, согласно https://aur.archlinux.org/packages/ulatencyd-git/ и https://wiki.archlinux.org/index.php/Ulatencyd. , Это может быть потому, что systemd взял на себя полный контроль над cgroups с точки зрения пространства пользователя, если я правильно понимаю.
cgroup_enable=memory swapaccount=1
в командной строке ядра; обратите внимание, что это приводит к незначительным потерям производительности). Пример реализации: ulatencyd .