我有一个专用于Redis的Linux服务器。Redis应该会占用几乎所有的内存。我担心Linux可能会限制Redis的内存消耗。
问题是:如何准确地确定一个进程在没有操作系统的情况下可以占用多少RAM?
互联网上的信息是矛盾的。有overcommit_ratio,ulimit和许多其他事情可能影响正确的答案。99%的信息集中在有限资源的情况下将进程内存限制在很小的数量上。然而,我感兴趣的是确保我的重要的巨大进程能够顺利地使用我将要提供的所有庞大的RAM。
发布于 2020-03-25 11:30:58
在正常情况下,您的redis进程应该尽可能多地获得系统上可用的内存(如果有交换的话)。
Redis (https://redis.io/topics/admin)建议将超额提交设置为1(永不检查),这可能有利于它能够分配大部分虚拟内存地址空间,而无需实际使用所有这些空间。当然,它最终可能会占用过多的内存,并被oom杀手(操作系统)杀死--请参阅https://stackoverflow.com/questions/20207697/redis-process-was-killed-by-os-is-there-a-bug。
https://serverfault.com/questions/1008159
复制相似问题