当前位置: 首页 > 面试题库 >

Redis-监视内存使用情况

闾丘玺
2023-03-14
问题内容

我目前正在测试将密钥插入数据库Redis(在本地)中。我有超过500万个密钥,而且我只有4GB的RAM,所以一时我达到了RAM的容量并交换了数据(并且我的PC掉了)。

我的问题是:如何在具有Redis数据库的计算机上监视内存使用情况,并以此方式发出警报,不再在Redis数据库中插入某些密钥?

谢谢。


问题答案:

关于内存使用情况,建议您查看redis.io
常见问题解答以及有关将redis用作LRU缓存的本文。

您可以通过maxmemory配置设置来限制内存使用量,在这种情况下,一旦达到内存限制,所有写请求都会因错误而失败,或者可以将maxmemory-
policy设置为allkeys-
lru,例如,开始覆盖服务器上最近最少使用的数据以及当前需要的东西等。对于大多数用例,您具有足够的灵活性,可以通过适当的配置来处理此类问题。

我的建议是使事情变得简单,并通过配置Redis服务器来解决此问题,而不是通过os级监视等引入额外的复杂性。



 类似资料:
  • vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可实时动态监视操作系统的虚拟内存、进程、CPU活动。 10.1. vmstat的语法   vmstat [-V] [-n] [delay [count]] - -V表示打印出版本信息;- -n表示在周期性循环输出时,输出的头部信息仅显示一次;- delay是两次输出之间的延迟时间;- count是指按照这个时

  • 问题内容: 如何监视Node.js的内存使用情况? 问题答案: node-memwatch:检测并查找Node.JS代码中的内存泄漏。查看本教程,以跟踪Node.js中的内存泄漏

  • 如何监视Node.js的内存使用情况?

  • 我们通常处理OutOfMemoryError问题是因为堆或permgen大小配置问题。 但所有JVM内存都不是permgen或heap。据我理解,它还可以与线程/堆栈、原生JVM代码... 但是使用pmap我可以看到进程分配了9.3G,这是3.3G的离堆内存使用量。 我想知道有什么可能性来监视和调优这种额外的离堆内存消耗。 我不使用直接离堆内存访问(MaxDirectMemorySize是64M默

  • 问题内容: 我想在一个Java进程中运行多个REST Web应用程序,以节省内存并借助Akka轻松扩展。我想估计每个请求处理程序消耗多少内存,并检测整个系统的危险情况。 是否有可能几乎实时监视该进程中的内存使用情况,并找出每个请求处理程序使用了多少内存?我需要实现什么?有什么工具吗? 是否有可能捕获并根据内存使用量执行某些操作,例如仅崩溃超过请求的内存限制的请求处理程序?如果是这样,那有什么不好呢

  • 问题内容: 我试图找出在以下情况下“ maxmemory”的安全设置: 大量写入的应用程序 8GB RAM 假设其他进程占用约1GB 这意味着redis进程的内存使用量不得超过7GB 每个BGSAVE事件的内存使用量都会增加一倍,原因是: 在redis 文档中,有关BGSAVE事件的内存使用量增加的说法如下: 如果要在写入量很大的应用程序中使用Redis,则在将RDB文件保存在磁盘上或重写AOF日