【发布时间】:2016-09-20 04:24:16
【问题描述】:
我从这个链接中阅读了以下段落:http://redis.io/topics/latency
例如在 Linux/AMD64 系统上,内存被划分为 4 kB 页。要将虚拟地址转换为物理地址,每个 进程存储一个页表(实际上表示为一棵树) 每页的地址空间至少包含一个指针 过程。所以一个大的 24 GB Redis 实例需要一个 24 的页表 GB / 4 kB * 8 = 48 MB。
当执行后台保存时,这个实例必须是 分叉,这将涉及分配和复制 48 MB 的内存。它 需要时间和 CPU,尤其是在分配的虚拟机上 并且大内存块的初始化可能会很昂贵。
请帮我解释一下: 1、为什么在计算页表内存时要乘以8。 2.据我所知,当Redis持久化时,它会将其内存中的所有数据集保存到磁盘。为什么在这个文档中说,它只是将页表保存到磁盘。
【问题讨论】: