困扰我很久的问题,最近C盘总是莫名其妙的空间被占满,
之前也没注意,一直以为是临时文件占用的,
但每次清理temp目录也只能最多释放1G左右空间,而且很快又会被占满,
今天实在难受就使用ccleaner 扫描了一下磁盘的大文件,
终于把凶手给揪了出来。
我的症状和情况是这样的, 8GB内存,Windows版64bit的Redis,
启动Redis后就在C盘的
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Redis
目录下面生成一个8GB大小的 RedisQFork_6580.dat 文件
(6580是本次启动的进程PID, 关闭redis 则此文件自动被删除).
纳尼,RedisQFork_XXXX.dat
这明显是redis这个鬼东西生成的文件,于是度娘了一下
得到以下处理方式
1、停止redis服务
net stop reids
2、修改配置文件
在redis.windows.conf 文件里面新增以下两项
#maxheap指定最大heap字节数,比如 10000000
# maxheap <bytes>
maxheap 4294967296
# maxmemory 指定最大使用内存,单位:字节
# maxmemory <bytes>
# heapdir指定内存映射文件路径名,不能是文件名
# heapdir <directory path(absolute or relative)>
heapdir D:\Redis
3、删除原来生成的缓存文件
4、启动redis
net start reids
整个世界一下安静了。。。。
如果用的是绿色版的redis 可以使用下面两种方式启动redis
1、使用以下批处理脚本启动
在redis程序目录添加start.bat脚本
redis-server.exe redis.windows.conf
sc create redis binPath = "D:\redis\redis-server.exe --service-run redis.windows.conf" start= auto