gpt4 book ai didi

2.6 中的 Redis 虚拟内存

转载 作者:IT王子 更新时间:2023-10-29 06:01:43 24 4
gpt4 key购买 nike

在以下位置阅读有关虚拟内存的 Redis 文档: http://redis.io/topics/virtual-memory

关于“vm-max-threads”,他们说“这是为了从/到交换文件执行 I/O 使用的最大线程数。一个好的值只是匹配内核的数量你的系统。”

我不明白为什么这应该与内核数量相匹配,因为据我所知,一旦对 redis 交换中的某些内容进行了查找,就会将其委托(delegate)给这些线程之一,但是它们可能会立即进入一些暂停的 IO 等待发出读取文件调用后允许 CPU 执行其他工作的阶段?

最佳答案

Redis VM 已在 Redis 2.4 中弃用,并已在 Redis 2.6 中删除。这是一条死胡同:不要使用它。

使用 vm-max-threads 的核心数只是一个经验法则。正如您所指出的,这些线程要么等待完成某些工作,要么等待同步 I/O 的完成。此外,这些线程是动态生成的。

正确的值实际上取决于 I/O 如何并行化,而不是这些线程的纯 CPU 消耗。如果交换文件在 SSD 磁盘阵列上 strip 化,那么使用更多线程是有意义的(可能多于 CPU 内核的数量)。如果您的交换文件位于单个旋转磁盘上,则不会。但是由于文件系统缓存,一些 I/O 将保持逻辑(因此不会生成物理等待状态),因此至少放置核心数是一个很好的通用选择。

关于2.6 中的 Redis 虚拟内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9205597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com