Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何减少cassandra虚拟内存的使用?_Java_Windows 7_Cassandra_Jvm_Virtual Memory - Fatal编程技术网

Java 如何减少cassandra虚拟内存的使用?

Java 如何减少cassandra虚拟内存的使用?,java,windows-7,cassandra,jvm,virtual-memory,Java,Windows 7,Cassandra,Jvm,Virtual Memory,cassandra中是否有减少it内存使用的设置?我知道cassandra可以很好地管理内存,但出于测试目的,我不想只在我的windows mchine上运行cassandra服务时使用6Gb内存 已更新 我已经厌倦了设置磁盘访问模式:standart而不是磁盘访问模式:auto。这没有帮助。我还注意到,在cassandra 2.0.9cassandra.yaml文件中,默认情况下不包含disk\u access\u mode。因此,似乎(但我不确定)已从cassandra中删除了磁盘访问模式。

cassandra中是否有减少it内存使用的设置?我知道cassandra可以很好地管理内存,但出于测试目的,我不想只在我的windows mchine上运行cassandra服务时使用6Gb内存

已更新


我已经厌倦了设置
磁盘访问模式:standart
而不是
磁盘访问模式:auto
。这没有帮助。我还注意到,在cassandra 2.0.9
cassandra.yaml
文件中,默认情况下不包含
disk\u access\u mode
。因此,似乎(但我不确定)已从cassandra中删除了
磁盘访问模式

cassandra的conf/cassandra-env.sh文件控制环境设置。请参阅文件和文档中的注释:

,因为@catpaws指出关键在于和cassandra-env.sh的文档(在我的mac上,我在/usr/local/etc/cassandra/cassandra env.sh中找到了它),但她没有回答这个问题

以下是我所做的和发生的事情: 我看了看我的活动监视器,发现java(cassandra)内存使用量约为4GB。然后我阅读了文档,发现~4GB与使用公式分配的堆大致相同

max(min(1/2 ram, 1024MB), min(1/4 ram, 8GB)
然后我编辑了cassandra env.sh,上面写着“覆盖这些设置数量…”并设置

形成原来的4GB。我还设置了

HEAP_NEWSIZE=“400M”

但这并不是减少内存使用的必要条件


我重新启动了cassandra并检查了活动监视器。它说java(cassandra)现在的内存使用量只有~2GB。

经过一些尝试和错误,我们发现
磁盘访问模式:mmap\u index\u only
提供了最好的结果。也有助于远离Linux,可能我错过了一些想法,但没有关于虚拟内存优化的消息,只有jvm堆和通用RAM建议。没有。这没有帮助(死链接,404。谢谢你在这里指导我。
MAX_HEAP_SIZE="2GB"