ruby-on-rails - Phusion 乘客进程卡在(分叉...)Rails 上
问题描述
今天我更新了 Nginx 和Passenger 的最新更新包。更新后,我的应用程序现在有一个(分叉...)进程,以前不存在并且似乎不会消失。然而它正在占用内存并sudo /usr/sbin/passenger-memory-stats
报告以下内容。
--------- Nginx processes ----------
PID PPID VMSize Private Name
------------------------------------
1338 1 186.0 MB 0.8 MB nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
1345 1338 186.3 MB 1.1 MB nginx: worker process
### Processes: 2
### Total private dirty RSS: 1.91 MB
---- Passenger processes -----
PID VMSize Private Name
------------------------------
1312 378.8 MB 2.1 MB Passenger watchdog
1320 663.8 MB 4.2 MB Passenger core
1768 211.5 MB 29.0 MB Passenger AppPreloader: /home/ubuntu/my-app
1987 344.1 MB 52.2 MB Passenger AppPreloader: /home/ubuntu/my-app (forking...)
2008 344.2 MB 41.1 MB Passenger AppPreloader: /home/ubuntu/my-app (forking...)
### Processes: 5
### Total private dirty RSS: 128.62 MB
我有passenger_max_pool_size 2
. sudo /usr/sbin/passenger-status
据报道,目前有两个开放。除了我使用该网站之外,服务器目前没有收到任何点击。
Version : 5.3.0
Date : 2018-05-14 00:41:05 +0000
Instance: ql2TTnkw (nginx/1.14.0 Phusion_Passenger/5.3.0)
----------- General information -----------
Max pool size : 2
App groups : 1
Processes : 2
Requests in top-level queue : 0
----------- Application groups -----------
/home/ubuntu/my-app (production):
App root: /home/ubuntu/my-app
Requests in queue: 0
* PID: 1987 Sessions: 0 Processed: 1 Uptime: 3m 36s
CPU: 0% Memory : 52M Last used: 3m 36s ago
* PID: 2008 Sessions: 0 Processed: 1 Uptime: 3m 35s
CPU: 0% Memory : 41M Last used: 3m 35s ago
乘客在更新之前从未这样做过,并且现在始终保持(分叉......),并且它似乎有两个应用程序在只需要一个时运行。我已经搜索了他们的文档,并知道它何时使用分叉,何时不使用以及何时在一定时间后自动杀死应用程序。他们是否使用我在文档中错过的最新更新进行了更新?似乎2008 344.2 MB 89.4 MB Passenger AppPreloader: /home/ubuntu/my-app (forking...)
现在总是显示,有时甚至有两个,而在更新之前,我总是在没有(forking...)
.
解决方案
这对于乘客 >= 5.3 是正常的。
资料来源:我是 Phusion 的一名开发人员,负责Passenger。
推荐阅读
- c++ - 如何使用 ceres::evaluation_callbacks 进行 ceres::cost 函数的内部迭代
- javascript - JavaScript 或 React - 单页网站中的数据库安全
- c# - UDP 客户端在发送一个巨大数组的多个小部分时使用了太多内存
- php - 使用 PHP 的 Git Hook Pull 无法在共享主机上运行
- java - 我们可以根据用户级别设置android导航抽屉菜单吗?
- python - 如何获取 HttpResponse 键值并从某个 url 获取响应?
- tmux - tmux:在多个状态行上使用状态选项
- java - 错误的存储库 - Maven
- python - 如何在列表中使用输入用户选择范围
- ios - 如何将苹果付款通知与我的自定义付款记录相关联?