2012-10-10 16 views
0

我在兩個不同的相同的虛擬機上有兩個節點 - 兩個相同的CentOS 64位,相同數量的RAM,CPU等。當兩個節點都參與mnesia集羣時,應該使用的內存在不同的,相同的節點上有所不同?

我有mnesia聚集在這兩個節點 - 非常vinalla,非分片簇

節點1示出了以下

{size,[{ttl,0,283}, 
     {scope_to_keys,5,97105}, 
     {type_to_keys,3,97043}, 
     {key_to_value,6015,393137}, 
     {schema,5,935}]} 

節點2所示

{size,[{ttl,0,300}, 
     {scope_to_keys,5,97122}, 
     {type_to_keys,3,97060}, 
     {key_to_value,6015,405184}, 
     {schema,5,952}]} 

元組結構是{噸able_name,記錄,單詞}。

  • mnesia:info()在每個節點上運行時報告與上面完全相同的數字。
  • 的桌子全都衝壓副本
  • 沒有交易是要去 - 幾個小時沒有動作
  • Mnesia的:信息()也報道: 33交易犯,中止0,9重啓,0記錄到光盤 0持有鎖,隊列中0; 0本地交易,0遠程 0交易等待其他節點:[]

這兩個節點報告使用不同的內存是否正常?

回答

0

你應該做的是詢問兩個節點的表內容是否相同。 Mnesia和Erlang一般收集垃圾。因此,在某些情況下實際使用內存可能會有所不同。還要注意,它可能是其中一個節點正在進行一些維護工作/成爲領導者等等。這會使內存有點不同。最後,這兩個節點可能會存儲子二進制文件,其中保留原始二進制文件。但是,複製時,子二進制文件被剪切並複製到另一個節點。這可能會導致一個小的差異。

除非在尺寸上有明顯的不同。也就是說,一個節點使用的內存增加了33%,那麼我不會擔心太多。

相關問題