这些Cassandra警告意味着什么:无法锁定JVM内存和未初始化的MemoryMeter

这些Cassandra警告意味着什么:无法锁定JVM内存和未初始化的MemoryMeter,cassandra,Cassandra,我收到以下警告-这是什么意思?这是一个问题吗? 我怎样才能解决这个问题 警告15:32:06772无法锁定JVM内存(ENOMEM)。这可能导致JVM的一部分被调出,特别是在启用了mmapped I/O的情况下。增加RLIMIT_MEMLOCK或以root用户身份运行Cassandra 警告15:33:20860内存计未初始化(jamm未指定为java代理);假设liveRatio为10.0。通常这意味着cassandra-env.sh禁用了jamm,因为您使用的是有bug的JRE;改为升级到S

我收到以下警告-这是什么意思?这是一个问题吗? 我怎样才能解决这个问题

警告15:32:06772无法锁定JVM内存(ENOMEM)。这可能导致JVM的一部分被调出,特别是在启用了mmapped I/O的情况下。增加RLIMIT_MEMLOCK或以root用户身份运行Cassandra

警告15:33:20860内存计未初始化(jamm未指定为java代理);假设liveRatio为10.0。通常这意味着cassandra-env.sh禁用了jamm,因为您使用的是有bug的JRE;改为升级到Sun JRE


我使用的是Cassandra 1.1.2。

ENOMEM是一个Linux错误代码。Cassandra使用了所有虚拟内存,因此JVM无法从虚拟内存中锁定额外的内存资源

(用于内存管理的Java代理)提供了MemoryMeter。我看到的是,您没有安装MemoryMeter并将其设置为代理,因此Cassandra禁用了MemoryMeter。此外,MemoryMeter可能只适用于Sun Oracle JRE,如果您希望MemoryMeter成功运行,Cassandra更喜欢它


要将
Jamm
添加到Java代理,请将以下参数添加到Java进程(示例):


(路径就是jar所在的路径)。

如何检查Jamm的安装?我看到cassandra在其lib文件夹中附带了jamm-0.2.5.jar。我已经检查了jdk版本,它是Java(TM)SE运行时环境(build 1.6.0_24-b07)
export Java_OPTIONS=-javaagent:$TITAN_HOME/lib/jamm-0.2.5.jar
ENOMEM的完整演练也在这里,别忘了
sysctl-p
-javaagent:bin/../lib/jamm-0.2.5.jar