对于此消息的含义以及是否需要采取任何措施,存在很多混淆:
... NoSpamLogger.java:94 - Maximum memory usage reached (536870912), cannot allocate chunk of 1048576
这会造成问题吗? Cassandra 运营商应该担心吗?
对于此消息的含义以及是否需要采取任何措施,存在很多混淆:
... NoSpamLogger.java:94 - Maximum memory usage reached (536870912), cannot allocate chunk of 1048576
这会造成问题吗? Cassandra 运营商应该担心吗?
Cassandra 在读取磁盘时使用缓冲池。解压缩的 SSTable 块存储在从堆外内存分配的缓存中,该缓存的运行方式与 OS 页面缓存大致相同。
当一个节点很忙时,预期缓存填满的速度比释放空间的速度快是很正常的。发生这种情况时,Cassandra 会在
INFO
级别记录此消息,因为无需采取任何操作 - 无论如何都会分配缓冲区,但不会从缓存中分配。块缓存大小由
file_cache_size_in_mb
默认值 512MB 控制。尽管可以增加缓存大小,但对节点的影响并不大,因为除非节点过载并且无法跟上读取并重复填满块缓存,否则对缓存填充没有显着影响。作为一般规则,当集群大小正确(即足够数量的节点)时,您应该很少看到此消息(如果有的话)。