2014-12-05 61 views
0

今天有一個問題,我的EC2實例。沒有交換,所以mysql關閉。當我看着可用內存,SWAP確實是0出掉 - 內存泄漏或t1.micro太小了,我需要

然後,我試過頂部,通過交換排序,發現我的12個節點實例分別排在前打者。見附件。 enter image description here

這裏是我發生了什麼事的理論:

1)有與節點的內存泄漏(我的代碼,而不是節點本身)。但是,我不明白VIRT和RES足夠大以承擔這一點。此外,在最新版本的節點中,還有垃圾收集,因此應該收集大部分泄漏的內存。

2)我的EC2是一個t1.micro實例。此實例太小而無法處理12個節點實例。

對此有何看法?

什麼我可以做檢查或檢查的問題是什麼,我應該做些什麼?

謝謝!

回答

0

我會建議你使用node-webkit並通過探查運行代碼。這會給你一個好主意,如果有,其實是內存泄漏,或至少它是什麼,它那麼沉重。

1

EC2實例微沒有任何默認的交換空間。如果你的內存不足,增加一些交換是個好主意。您可以添加1 GB交換到您的實例這些命令:

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 
sudo mkswap /swapfile 
sudo swapon /swapfile 

重新啓動後默認情況下啓用它,這一行添加到/ etc/fstab中:

/swapfile swap swap defaults 0 0