2014-12-05 34 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