# ВНИМАНИЕ: в вашем ядре включена поддержка прозрачных огромных страниц (THP).Это создаст проблемы с задержкой и использованием памяти в Redis.Чтобы устранить эту проблему, выполните команду 'echo never> / sys / kernel / mm / transparent_hugepage / enabled' от имени пользователя root и добавьте ее в свой файл /etc/rc.local, чтобы сохранить настройку после перезагрузки.Redis должен быть перезапущен после отключения THP.
Из-за ошибки вы можете использовать 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
на хосте докера, чтобы решить вашу проблему.
Но я знаю, что вы в Windows &не может получить доступ к hyper-v MobyLinuxVM, поэтому вы должны использовать обходной путь следующим образом:
docker-compose.yaml:
version: '3'
services:
redis:
image: 'redis:4.0.11'
ports:
- '6379:6379'
depends_on:
- helper
sysctls:
- net.core.somaxconn=511
helper:
image: alpine
command: sh -c "echo never > /sys/kernel/mm/transparent_hugepage/enabled"
privileged: true
Выше сначала будет запущен вспомогательный контейнер, которыйустановит never
для /sys/kernel/mm/transparent_hugepage/enabled
, так как все контейнеры будут использовать одно и то же ядро хоста, так что ваш контейнер redis, запускаемый позже, также выиграет от этого, см. следующий журнал выполнения:
PS E:\abc> docker-compose up
Starting abc_helper_1 ... done
Recreating 29ea8bfaeafc_abc_redis_1 ... done
Attaching to abc_helper_1, abc_redis_1
redis_1 | 1:C 25 Sep 15:38:17.822 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis_1 | 1:C 25 Sep 15:38:17.822 # Redis version=4.0.11, bits=64, commit=00000000, modified=0, pid=1, just started
redis_1 | 1:C 25 Sep 15:38:17.822 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
redis_1 | 1:M 25 Sep 15:38:17.822 * Running mode=standalone, port=6379.
redis_1 | 1:M 25 Sep 15:38:17.823 # Server initialized
redis_1 | 1:M 25 Sep 15:38:17.823 * DB loaded from disk: 0.000 seconds
redis_1 | 1:M 25 Sep 15:38:17.823 * Ready to accept connections