Redis VM уже устарела в Redis 2.4 и была удалена в Redis 2.6. Это тупик: не используйте его.
Использование количества ядер для vm-max-threads было только практическим правилом. Как вы указали, эти потоки будут либо ожидать выполнения какой-либо работы, либо ожидать завершения синхронного ввода-вывода. Кроме того, эти потоки создаются динамически.
Правильное значение на самом деле зависит от того, как распараллелить ввод / вывод, а не от чистого потребления ЦП этими потоками. Если файл подкачки распределяется по массиву дисков SSD, тогда имеет смысл использовать больше потоков (возможно, больше, чем количество ядер ЦП). Если ваш файл подкачки находится на одном вращающемся диске, то это не так. Но из-за кэша файловой системы некоторые операции ввода-вывода будут поддерживаться логическими (и, следовательно, не будут генерировать физические состояния ожидания), поэтому выбор хотя бы количества ядер является хорошим выбором общего назначения.