我可以問一些問題,以更好地瞭解Cassandra和JRE以及RAM配置(參考V1.2.5和2013年5月的文檔): 目前的文檔和大量的谷歌研究仍然留給我一些開放的問題。Cassandra 1.2.x - RAM堆和JRE參數 - 更好的理解問題
有興趣將它作爲簡單的嵌入式數據存儲,用於分佈在3個位置的6臺機器上的幾百GB數據,該機器還運行Java應用程序。
1)Cassandra的堆棧大小
在Windows .bat文件有一個默認設置爲1GB,我認爲這是一個錯誤,在Linux cassandra-env.sh定義180K。這是一個「只留下180K,火,忘了堆棧大小」的東西?
2)Cassandra的RAM使用
當使用JNA,系統RAM被基本上分成3個主要區域:
- 卡桑德拉使用分配的Java堆
- 卡桑德拉使用由JNA 得到關節外RAM
- 操作系統使用RAM的剩餘部分作爲磁盤緩存
當前文檔基本上只推薦:「不要設置Java堆大小高於8GB」
- 這個信息仍然是最新的嗎? (這可能是因爲這種說法是從時間,當沒有包含在Java 1.6的CMS垃圾收集器)
- 如何限制JNA堆(難道是「row_cache_size_in_mb」參數?)
- 什麼是在Cassandra 1.2.x專用系統上的3個RAM區域(Java HEAP,JNA extra HEAP,OS CACHE)的良好佈局規則?
- 有很多RAM(128GB)時?
- 什麼時候內存很少(4GB)?
(我知道堆大小的計算器,這個問題是更多的理論認識和最新的信息)
3)Java運行時
爲什麼建議還是使用Java 1.6而不是Java 1.7。
- 這是「成熟」操作建議嗎?
- 近幾年有沒有具體的問題?
- 還是等待更多,直到更多人用1.7報告無瑕操作?
4)嵌入卡桑德拉
的「-XX:MaxTenuringThreshold = 1」中的C *啓動腳本是輕微提示從應用程序代碼,這通常生活與較高的閾值更好地分離卡桑德拉。另一方面,「1」也可能有點過時 - 這個設置仍然很重要嗎? (因爲現在使用CMS垃圾收集器和JNA-RAM,甚至可能使用Java1.7?)
謝謝 對不起,我的第一個問題,我真的搞砸了Xss和Xmx。對我感到羞恥。 你的回答讓我做了更多的Google搜索,我發現你的演示文稿約1.2/2.0,以防別人絆倒我的stackoverflow問題,演示文稿還包含有關內存和約V2.0的信息:http://www.slideshare達網絡/ planetcassandra/NYC喬納森-埃利斯-基調-卡桑德拉-12-20 – Alex