Le serveur Redis ne peut pas exécuter plus de 1024M maxheap

Je suis en cours d'exécution Redis 2.8.19 sur Windows Server 2008.
J'obtiens un message d'erreur disant que je n'ont pas suffisamment d'espace disque pour mon Redis tas. (Le mappage de mémoire de fichier au lieu de fork()).

Je ne peux obtenir Redis en cours d'exécution, si j'ai des "maxheap 1024M" dans le cfg, même si j'ai ~50 GO d'espace libre sur le répertoire, j'ai mis 'heapdir'.

Si j'essaie de le lancer avec plus de maxheap, ou sans maxheap, j'ai cette erreur (PowerShell):

PS C:\Users\admasgve> lecteur de cd D:\redis-2.8.19

PS D:\redis-2.8.19> .\redis-server.exe

[7476] 25 Fév 09:32:38.419 #
La version Windows de Redis alloue un gros fichier mappé en mémoire pour le partage
le tas avec la fourche processus utilisés dans des opérations de persistance. Ce fichier
sera créé dans le répertoire de travail actuel ou le répertoire spécifié par
le "heapdir" directive dans le .fichier conf. Windows signale qu'il y a
pas suffisamment d'espace disque disponible pour ce fichier (Windows d'erreur 0 x 70).

Vous pouvez résoudre ce problème en réduisant la taille de la Redis tas avec
l' --maxheap pavillon, ou par déplacer le tas de fichiers sur un lecteur local avec suffisamment de
de l'espace.
Veuillez consulter la documentation fournie avec la distribution binaire pour plus d'
les détails sur la --maxheap et --heapdir drapeaux.

Redis on ne peut pas continuer. À la sortie.

Capture d'écran: http://i.stack.imgur.com/Xae0f.jpg

  • Espace libre sur D: 49,4 GO
  • L'espace libre sur C: 2,71 GO
  • Total RAM: 16 GO
  • Gratuit RAM: ~9 GO

redis.de windows.conf:

# Generated by CONFIG REWRITE
loglevel verbose
logfile "stdout"
save 900 1
save 300 10
save 60 10000
dir "D:\\redis-2.8.19"
maxmemory 1024M
# maxheap 2048M
heapdir "D:\\redis-2.8.19"

Tout à côté de l'3 dernières lignes sont générées par le redis avec la "CONFIG RÉÉCRIRE' cmd. J'ai essayé diverses choses, avec maxmemory, maxheap et heapdir.

De Redis documentation:

maxmemory /maxheap - le maxheap drapeau contrôle la taille maximale de ce fichier mappé en mémoire, ainsi que le total de l'espace utilisable pour le Redis tas. L'exécution Redis sans maxheap ou maxmemory sera le résultat dans un fichier mappé en mémoire, qui est égal à la taille de la mémoire physique; Le Redis tas doit être supérieure à la valeur spécifiée par le maxmemory

Avoir quelqu'un a rencontré ce problème avant? Que dois-je faire de mal?

source d'informationauteur Asger Vestbjerg