Я действительно не рекомендовал бы ставить swappiness выше. Общий механизм в ядре состоит в том, что он помещает страницы (кусок памяти) в раздел подкачки, чтобы освободить часть памяти для других запущенных задач.
Первая «проблема», когда ядро хочет, чтобы n страниц было освобождено, m (при m <n, m - это количество сжатых страниц, необходимых для хранения n), вновь создаются в ОЗУ, я не уверен, может ли это нарушить работу ядра или не.
В любом случае, если у вас есть страницы в разделе подкачки, возможно, вы позже используете приложение с некоторыми из его страниц в разделе подкачки. Ядро возвращает эти страницы в физическую память, но не удаляет их из свопинга (что при стандартном свопе можно рассматривать как кеширование , поэтому, когда приложение возвращается в фоновый режим, ядру не нужно записывать эти страницы обратно). в медленный своп). Однако с zram это, возможно, не мудрый трюк, потому что тогда у вас в памяти есть m страниц в zram + n страниц, которые вернулись в память!
Ядро обычно имеет «общую память», которую оно может использовать для своей работы. Когда вы добавляете zram, он учитывается только в памяти «swap», как это было бы с любым дисковым обменом, но это уменьшало фактическую «общую память», а ядро этого не ожидает / не ожидает. Иногда вы можете иметь странное и нежеланное поведение из-за этого!
С zram было бы хорошо, чтобы ядро не слишком сильно менялось в этой области, когда оно находится под давлением памяти. И у вас всегда должен быть реальный раздел подкачки жесткого диска, по крайней мере, больше, чем ваш максимальный размер zram, чтобы система не получала OOM, тогда как в то же время вы увидите много свободного места, о чем сообщает free
!