我有一个512MB的VPS与TelVPS的1GB突发。 VPS没有交换空间。
我曾与我的服务提供商讨论过这个问题,但他们表示,他们不提供VPS 交换空间,我可以添加自己的SWAP空间吗?
我有以下设置:
我有3个应用程序正在运行,但他们是testing应用程序从低到没有stream量。
top和VPS控制面板显示我的系统正在使用大约880MB的RAM。 但是顶端的进程列表结果并不显示任何进程内存。 我已阅读http://www.linuxatemyram.com/ 。 但是下面是free -m的输出
root@serveme:/var/www# free -m total used free shared buffers cached Mem: 1024 819 204 0 0 0 -/+ buffers/cache: 819 204 Swap: 0 0 0
我有两个关于这种情况的问题:
1)。 如何解决内存吃饭的问题? (请让我知道是否需要更多的信息)
2)。 我可以添加SWAP空间吗? 如果是的话,怎么样? 安装系统后,可以安全地添加交换空间吗?
编辑:
1)。 内存:我跑ps -axu --sort -rss | head -n 10 按照Fox的build议(注释), ps -axu --sort -rss | head -n 10 ,我发现我的sunspot (基于solr全文search的轨道gem)正在进食记忆。 有限制太阳黑子内存使用的选项。
2)。 交换空间
汤姆接受了接受答案的步骤。
有可能你可以直接做内存使用。 Ruby on Rails是大量的内存饥饿,特别是当它是ORM构build深层对象的recursionActiveRecords。 Apache也不是特别轻量级的。
您可能想要抓取MySQL调谐器,并查看数据库在高峰使用情况下(表caching,查询caching,连接池)所占用的内存量。
事实上添加交换很容易 ,但可以大大缓慢。 特别是当大多数VPS过度使用时,IO后端的动力不足。
我们来创build一个512MB的交换文件
dd if=/dev/zero of=/swapfile1 bs=1024 count=524288 这会在/ swapfile中创build一个512MB的稀疏文件 mkswap /swapfile1 这将其格式化为交换使用 swapon /swapfile1 这告诉内核使用它进行交换 vim /etc/fstab 编辑Fstab,然后 /swapfile1 swap swap defaults 0 0 将此行追加到文件的底部,以便在重新引导时再次装入相同的交换分区。