zoukankan      html  css  js  c++  java
  • Windows下Redis中RedisQFork位置调整

    redis-server.exe redis.windows.conf

    使用上面命令启动redis服务的时候报了以下错误信息:

    The Windows version of Redis allocates a memory mapped heap for sharing with

    the forked process used for persistence operations. In order to share this

    memory, Windows allocates from the system paging file a portion equal to the

    size of the Redis heap. At this time there is insufficient contiguous free

    space available in the system paging file for this operation (Windows error

    0x5AF). To work around this you may either increase the size of the system

    paging file, or decrease the size of the Redis heap with the --maxheap flag.

    Sometimes a reboot will defragment the system paging file sufficiently for

    this operation to complete successfully.

    Please see the documentation included with the binary distributions for more

    details on the --maxheap flag.

     大概意思是:没有足够的可用空间,可以增加系统的大小分页文件,或减少Redis的堆的大小

    使用--maxheap标志。

    有时重启将充分整理系统分页文件(重启可以解决)

    可以再启动命令后面加maxheap参数重新分配堆大小。

    redis-server.exe redis.windows.conf --maxheap 200m

    http://sanwen8.cn/p/1a3gMDZ.html

    [1944] 14 Oct 10:01:31.577 #
    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.

    RedisQFork_4328.dat

    启动windows版本的Redis会在C盘创建一个RedisQFork打头的文件,改变存放位置的办法:

    在redis.windows.conf下更改参数heapdir为./,表示是在当前目录

    # The Linux version of Redis relies on the system call fork() to perform
    # point-in-time snapshots of the heap. In addition to the AOF and RDB backup
    # mechanism, the master-slave synchronization and clustering features are 
    # dependent on this behavior of fork(). In order for the Windows version to 
    # perform like the Linux version we had to simulate this aspect of fork().
    # Doing so meant moving the Redis heap into a memory mapped file that can
    # be shared with a child process. 
    #
    # *** There must be disk space available for this file in order for Redis 
    # to launch. *** The default configuration places this file in the local 
    # appdata directory. If you wish to move this file to another local disk,
    # use the heapdir flag as described below.
    #
    # The maxheap flag controls the maximum size of this memory mapped file,
    # as well as the total usable space for the Redis heap. Running Redis
    # without either maxheap or maxmemory will result in a memory mapped file 
    # being created that is equal to the size of physical memory. During 
    # fork() operations the total page file commit will max out at around:
    #
    #    (size of physical memory) + (2 * size of maxheap)
    #
    # For instance, on a machine with 8GB of physical RAM, the max page file 
    # commit with the default maxheap size will be (8)+(2*8) GB , or 24GB. The
    # default page file sizing of Windows will allow for this without having 
    # to reconfigure the system. Larger heap sizes are possible, but the maximum
    # page file size will have to be increased accordingly.
    # 
    # 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>
    
    # The heap memory mapped file must reside on a local path for heap sharing 
    # between processes to work. A UNC path will not suffice here. For maximum 
    # performance this should be located on the fastest local drive available.
    # This value defaults to the local application data folder(e.g.,
    # "%USERPROFILE%AppDataLocal"). Since this file can be very large, you
    # may wish to place this on a drive other than the one the operating system  
    # is installed on.
    #
    # Note that you must specify a directory here, not a file name.
    # heapdir <directory path(absolute or relative)>
    heapdir ./

    启动redis服务器:run.bat

    redis-server.exe  redis.windows.conf

    Redis是可以安装成windows服务的,开机自启动

    redis-server --service-install redis.windows.conf

    但是安装好之后,Redis并没有启动,启动命令如下:

    redis-server --service-start
    停止命令:

    redis-server --service-stop
    还可以安装多个实例

    redis-server --service-install –service-name redisService1 –port 10001
    redis-server --service-start –service-name redisService1
    redis-server --service-install –service-name redisService2 –port 10002
    redis-server --service-start –service-name redisService2
    redis-server --service-install –service-name redisService3 –port 10003
    redis-server --service-start –service-name redisService3
    卸载命令:

    redis-server --service-uninstall
    最后提示一下:2.8版本的不支持32位系统,32位系统要去下载2.6版本的。2.6版本的无法像上面一样方便的部署,它提供一个叫RedisWatcher的程序来运行redis server,Redis停止后会自动重启。

    另外推荐一个Redis可视化管理工具:Redis Desktop Manager,官网的下载地址被墙了,可以在我的网盘下载 v0.7.6版

    http://keenwon.com/1275.html

  • 相关阅读:
    springboo 添加logback日志
    logback配置日志输出
    认知升级:提升理解层次的NLP思维框架
    2019第29周日
    《如何有效社交》晨读笔记
    控制论模型&心流模型&波模型
    数学中常见的思维模型
    分布式服务跟踪系统
    Spring Cloud Sleuth
    微服务调用跟踪
  • 原文地址:https://www.cnblogs.com/softidea/p/5917314.html
Copyright © 2011-2022 走看看