redis maxheap 51200000

Posted Alamps 沁园春

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis maxheap 51200000相关的知识,希望对你有一定的参考价值。

Redis无法启动 
今天在启动Redis时提示以下错: 
C:\Java\redis2817>redis-server.exe redis.windows.conf 
[5268] 23 Apr 11:45:22.696 # 
The Windows version of Redis allocates a large memory mapped file for sharing 
the heap with the forked process used in persistence operations. This file 
will be created in the current working directory or the directory specified by 
the ‘heapdir’ directive in the .conf file. Windows is reporting that there is 
insufficient disk space available for this file (Windows error 0x70).

You may fix this problem by either reducing the size of the Redis heap with 
the –maxheap flag, or by moving the heap file to a local drive with sufficient 
space. 
Please see the documentation included with the binary distributions for more 
details on the –maxheap and –heapdir flags.

Redis can not continue. Exiting. 
原因分析: 
经过分析,原来是最大堆大小“maxheap ”配置的问题,是因为可用的内存不足,不 能满足maxheap配置的条件,所以无法启动。

解决办法: 
打开Redis的配置文件“redis.windows.conf”,找到以下代码部分:

# The Redis heap must be larger than the value specified by the maxmemory 
# flag, as the heap allocator has its own memory requirements and 
# fragmentation of the heap is inevitable. If only the maxmemory flag is 
# specified, maxheap will be set at 1.5*maxmemory. If the maxheap flag is 
# specified along with maxmemory, the maxheap flag will be automatically 
# increased if it is smaller than 1.5*maxmemory. 
#  
# maxheap <bytes>
maxheap 51200000

默认的值是:maxheap 1024000000, 
我这因为剩余可用的内存太小了, 
所以将其改为:maxheap 51200000,终于可以启动了。

以上是关于redis maxheap 51200000的主要内容,如果未能解决你的问题,请参考以下文章

在windows上部署使用Redis

关于win7 安装redis的问题

Python heapq 优先队列 Maxheap

硬盘杀手!Windows版Redis疯狂占用C盘空间!

maxHeap 的 python 实现

c_cpp MaxHeap-的PriorityQueue