redis bgsave fork 子程序给临时文件写数据的时候,最大写入多少MB?
比如我10G内存数据,他不会一次性往里面写10G把我IO都占满吧?
请问有没有控制这个最大写入值的参数?
redis bgsave fork 子程序给临时文件写数据的时候,最大写入多少MB?
比如我10G内存数据,他不会一次性往里面写10G把我IO都占满吧?
请问有没有控制这个最大写入值的参数?
并没有参数可以控制这个,有系统直接调度写入。
而且写的时候也不是说10GB内存就写了10GB啊,你看过rdb文件格式解析吧,所以,他fork出内存后,还要把他转成rdb的格式写入。
与其担心写入太快,把磁盘IO占满,要不要换上SSD 阵列
如果还是担心,那么你Redis 主从,主节点关闭rdb和aof, 从节点开启rdb 就好了。这个从节点可以不承担业务,随便他写。
2 回答913 阅读
1 回答881 阅读
1 回答725 阅读
通过 fork 创建子进程时不会立刻触发大量内存的拷贝,内存在被修改时会以页为单位进行拷贝。