服务器上的长时间运行进程

5

我的Rails应用程序运行得相当不错,但部署过程可能会消耗大量内存并产生一些问题。

据服务器人员称,有3个长时间运行的进程正在使用内存并应予以处理。

Ruby processes: 
user@app-hippogo-production-6628:~$ ps -p 15892 -o etime= 1-20:00:43 
user@app-hippogo-production-6628:~$ ps -p 15903 -o etime= 1-20:00:52 
user@app-hippogo-production-6628:~$ ps -p 15925 -o etime= 1-20:01:07

Postgres process: 
user@app-hippogo-production-6628:~$ ps -p 14495 -o etime= 10-19:58:59

我应该如何配置我的应用程序来关闭Ruby和PostgreSQL进程?我该如何做到这一点?非常感谢您提供有关正在发生的事情以及应该发生的事情的背景信息。
更新 这些进程使用了690MB的内存。
我使用的是Rails 4.1.8 Ruby 2.2.5。 我使用thin作为服务器。 我部署到Ninefold服务器,他们有自己的系统,在提交到repo时进行部署,有点像Heroku。我相信它是基于Chef的。
1个回答

0

我们可能需要更多的信息才能提供帮助。

您正在运行哪个版本的Ruby和Rails?使用什么Web服务器?什么是大量的内存?您是如何部署这个Rails应用程序的,以及部署到哪里(本地、EC2、Heroku与Capistrano?Docker?)?


谢谢更新。我不熟悉Thin和Ninefold,但是快速浏览了一下。Thin也可能存在一些捕获信号的问题,这可能会导致进程继续运行。我建议先在本地查看并确定有什么不同。如果您在本地机器上启动应用程序(尽可能接近Ninefold配置设置),您是否会看到多个进程以及大致的内存占用情况?三个进程的总共690 MB并不令人震惊,使用一些糟糕的AR很快就可以达到这个水平问题 - user1309272

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接