패키지 관리자를 사용하여 OpenSuse 42.1에 Redis 3.2.4를 설치했습니다. 이 기기에는 16GB의 메모리가 있습니다.
실행하기 위해 다음 단계를 수행했습니다. (데몬으로 실행하고 싶은데 아직 설정을 바꾸지 않았습니다.)
cp default.conf.example default.conf
chown root.redis default.conf
systemctl enable redis@default
systemctl start redis@default
service redis start
다음 오류가 발생합니다.
54778:C 18 Jan 12:38:56.664 # systemd supervision requested, but NOTIFY_SOCKET not found
54778:M 18 Jan 12:38:56.665 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
54778:M 18 Jan 12:38:56.665 # Server can't set maximum open files to 10032 because of OS error: Operation not permitted.
54778:M 18 Jan 12:38:56.665 # Current maximum open files is 4096. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
54778:M 18 Jan 12:38:56.666 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
54778:M 18 Jan 12:38:56.666 # Server started, Redis version 3.2.4
54778:M 18 Jan 12:38:56.666 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
54778:M 18 Jan 12:38:56.666 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
답변1
Type=forking
섹션 [Service]
파일 에 행을 입력해야 합니다.redis.service
우분투 유형의 경우sudo nano /etc/systemd/system/redis.service
답변2
Linux 커널을 조정해야 할 것 같습니다. sysctl 명령, sysctl.conf 구성 파일 및 해당 매뉴얼 페이지를 살펴보십시오.
최대 파일 설명자, 최대 열린 파일, 최대 연결, 오버커밋 메모리 활성화 및 투명 거대 페이지 비활성화 등 커널 값을 늘려야 합니다. 그리고 이 후에 다시 시작하세요.
Redis 인스턴스가 실행 중이지만 성능이 제한된 것 같습니다.