草庐IT

memory-efficient

全部标签

memory - Redis 最佳哈希集条目大小

我对Redis哈希集的最佳条目大小设置有一些疑问。在本例中memory-optimization他们使用100个哈希条目每个key但使用hash-max-zipmap-entries256?为什么不hash-max-zipmap-entries100还是128?在redis网站(上面的链接)上,他们使用的最大哈希条目大小为100,但在这篇文章中instagram,他们提到了1000个条目。所以这是否意味着最佳设置是以下产品的函数hash-max-zipmap-entries&hash-max-zipmap-value?(即在这种情况下Instagram的哈希值比内存优化示例更小?)非常

memory-leaks - 如何修复Redis "memory leak"

我在dotcloud上使用redis内存存储,但尽管key已过期,但它的used_memory再也不会下降。从redis-cli使用flushdb或flushall不会导致used_memory从~20Mb下降。我在RedisToGo上遇到了同样的问题。有谁知道我是怎么填满它的?我怎样才能避免这样做?也许有些字符不应该放入Redis值或键中?我将它与EM一起使用,并从herokurails应用程序重新请求。 最佳答案 Redis也有一个mem_fragmentation_ratio(例如:2.5),因此使用这两个值可能会导致更准确的

redis - 提高 Redis 设置的性能(设置 vm.overcommit_memory=1 后性能下降)

在诊断和调整我的Redis设置(Ubuntu14.04机器上的2个redis-server实例)的性能方面需要一些帮助。请注意,大量写入的DjangoWeb应用程序与Redis共享VM。该机器有8个内核和25GBRAM。我最近发现后台保存会间歇性地失败(出现fork()错误),即使RAM没有耗尽也是如此。为了解决这个问题,我应用了设置vm.overcommit_memory=1(之前是default)。此外vm.swappiness=2,vm.overcommit_ratio=50。我也通过echonever>/sys/kernel/mm/transparent_hugepage/en

R Shiny in Memory Application 或 noSQL

我正在使用R的shiny框架运行一个微型网络应用程序。该工具没有那么多。它只是从UI中过滤具有给定参数的数据帧。我现在遇到的问题如下。如果用户通过http访问应用程序,则需要很长时间才能启动应用程序。由于我在global.R中加载的数据非常大(~5GB)。初始启动后,应用程序运行平稳,在给定时间内重新访问时也是如此(应用程序似乎完全在内存中,有几分钟)。由于我有足够的可用内存,而且我的数据不会因用户交互而改变,我问自己是否可以将完整的应用程序保存在内存中。有可能强制这样做吗?我的服务器运行的是centOS6。问题也不在于文件系统、硬盘等。我创建了一个ram磁盘来加载数据,但性能提升很小

ubuntu - 解决 EC2 上 Ubuntu 16.04 的 overcommit_memory 和 Transparent Huge Pages 上的 Redis 警告

在新的Ubuntu16.04EC2实例上,警告显示如下:WARNINGovercommit_memoryissetto0!Backgroundsavemayfailunderlowmemorycondition.Tofixthisissueadd'vm.overcommit_memory=1'to/etc/sysctl.confandthenrebootorrunthecommand'sysctlvm.overcommit_memory=1'forthistotakeeffect.WARNINGyouhaveTransparentHugePages(THP)supportenabled

redis - Redis 是 "in memory"数据库是什么意思?

WikipediasaysRedis是一个内存数据库,但它也说它可以“至少每2秒将数据保存到磁盘”。我觉得这两件事是相互排斥的。它怎么能被认为是内存中的(它可以)将数据存储在磁盘上?我假设内存中的定义意味着它不存储到磁盘。这是一个类似的问题:Redisconcept:InmemoryorDB?不同之处在于他询问的是持久性实现。我的问题是关于内存中与持久性的概念。 最佳答案 Redisisanin-memorybutpersistentondiskdatabase,soitrepresentsadifferenttradeoffwhe

sql - Out of Process in memory 数据库表,支持查询高速缓存

我有一个持续访问但很少更改的SQL表。Table按UserID分区,每个用户在表中有多条记录。我想节省数据库资源并将此表移动到更靠近某种内存缓存中的应用程序。进程内缓存过于占用内存,因此它需要在应用程序外部。事实证明,由于在Redis中对表进行序列化和反序列化的开销,Redis等键值存储效率低下。我正在寻找可以将此表(或数据分区)存储在内存中的东西,但让我只查询我需要的信息,而无需为每次读取序列化和反序列化大块数据。有什么可以提供支持高速缓存查询的OutofProcessinmemory数据库表吗?搜索表明ApacheIgnite可能是一个可能的选择,但我正在寻找更明智的建议。

memory-management - 为什么删除一半键时redis内存使用量没有减少

Redis用于保存数据,但占用大量内存,内存占用高达52.5%。我在redis中删除了一半的key,删除操作的返回码是可以的,但是内存占用并没有减少。这是什么原因?提前致谢。我的操作代码如下://savedatam_pReply=(redisReply*)redisCommand(m_pCntxt,"set%b%b",mykey.data(),mykey.size(),&myval,sizeof(myval));//deldatam_pReply=(redisReply*)redisCommand(m_pCntxt,"del%b",mykey.data(),mykey.size());

redis - Redis "OOM command not allowed when used memory > ' maxmemory'”错误如何调试?

尝试设置key时出现“不允许OOM命令”,maxmemory设置为500M,maxmemory-policy“volatile-lru”,我正在为发送到redis的每个key设置TTL。INFO命令返回:used_memory_human:809.22M如果maxmemory设置为500M,我是如何达到809M的?INFO命令不显示任何键空间,这怎么可能?KEYS*返回“(空列表或集合)”,我已尝试更改数据库编号,但仍未找到任何键。这是信息命令输出:redis-cli-p6380redis127.0.0.1:6380>info#Serverredis_version:2.6.4redi

ruby-on-rails-3 - 带有 Resque 和 Rails 的 Redis : ERR command not allowed when used memory > 'maxmemory'

使用redis时报错:ERRcommandnotallowedwhenusedmemory>'maxmemory'信息命令显示:redis127.0.0.1:6379>inforedis_version:2.4.10redis_git_sha1:00000000redis_git_dirty:0arch_bits:64multiplexing_api:kqueuegcc_version:4.2.1process_id:1881uptime_in_seconds:116uptime_in_days:0lru_clock:1222663used_cpu_sys:0.04used_cpu_u