播放框架 Ubuntu 流氓进程
Play Framework Ubuntu Rogue Process
我已经使用 sbt-native-packager Debian Plugin 打包了我的 Play 应用程序。我使用典型的 sudo dpkg -i tyrion_1.0-SNAPSHOT_all.deb
安装了 .deb
文件。一旦我这样做了,它就创建了守护进程用户和组,并按照以下方式启动了该过程:
aczerwon@vps57610:~/work/tyrion/target$ sudo dpkg -i tyrion_1.0-SNAPSHOT_all.deb
Selecting previously unselected package tyrion.
(Reading database ... 53135 files and directories currently installed.)
Preparing to unpack tyrion_1.0-SNAPSHOT_all.deb ...
Unpacking tyrion (1.0-SNAPSHOT) ...
Setting up tyrion (1.0-SNAPSHOT) ...
Creating system group: tyrion
Creating system user: tyrion in tyrion with tyrion user-daemon and shell /bin/false
tyrion start/running, process 30525
Processing triggers for ureadahead (0.100.0-16) ...
我看到一个 java
进程 运行 处于 50% - 这太疯狂了,因为应用程序应该处于空闲状态。我假设它使用的是 application.conf
配置,但当我尝试访问该网站时,我得到了 ERR_CONNECTION_REFUSED
。
进程正在启动和停止
看着 top
,我现在看到 CPU 被固定了,因为这个过程一遍又一遍地开始和结束。 pid
正在更改,VisualVM 看不到它 - 它未列出。
一个ERR_CONNECTION_REFUSED
错误可能是由于游戏配置错误造成的。参见 sbt-native-packager docs and play pid configuration。
示例配置
javaOptions in Universal ++= Seq(
// Since play uses separate pidfile we have to provide it with a proper path
s"-Dpidfile.path=/var/run/${packageName.value}/play.pid",
// setting the http port explicitly
"-Dhttp.port=9000"
)
对于 CPU 的高利用率,我建议使用 VisualVM 或 MissionControl 分析应用程序以查看发生了什么。
更新
对于播放应用程序,PID
文件必须命名为 play.pid
否则播放不会启动。
我已经使用 sbt-native-packager Debian Plugin 打包了我的 Play 应用程序。我使用典型的 sudo dpkg -i tyrion_1.0-SNAPSHOT_all.deb
安装了 .deb
文件。一旦我这样做了,它就创建了守护进程用户和组,并按照以下方式启动了该过程:
aczerwon@vps57610:~/work/tyrion/target$ sudo dpkg -i tyrion_1.0-SNAPSHOT_all.deb
Selecting previously unselected package tyrion.
(Reading database ... 53135 files and directories currently installed.)
Preparing to unpack tyrion_1.0-SNAPSHOT_all.deb ...
Unpacking tyrion (1.0-SNAPSHOT) ...
Setting up tyrion (1.0-SNAPSHOT) ...
Creating system group: tyrion
Creating system user: tyrion in tyrion with tyrion user-daemon and shell /bin/false
tyrion start/running, process 30525
Processing triggers for ureadahead (0.100.0-16) ...
我看到一个 java
进程 运行 处于 50% - 这太疯狂了,因为应用程序应该处于空闲状态。我假设它使用的是 application.conf
配置,但当我尝试访问该网站时,我得到了 ERR_CONNECTION_REFUSED
。
进程正在启动和停止
看着 top
,我现在看到 CPU 被固定了,因为这个过程一遍又一遍地开始和结束。 pid
正在更改,VisualVM 看不到它 - 它未列出。
一个ERR_CONNECTION_REFUSED
错误可能是由于游戏配置错误造成的。参见 sbt-native-packager docs and play pid configuration。
示例配置
javaOptions in Universal ++= Seq(
// Since play uses separate pidfile we have to provide it with a proper path
s"-Dpidfile.path=/var/run/${packageName.value}/play.pid",
// setting the http port explicitly
"-Dhttp.port=9000"
)
对于 CPU 的高利用率,我建议使用 VisualVM 或 MissionControl 分析应用程序以查看发生了什么。
更新
对于播放应用程序,PID
文件必须命名为 play.pid
否则播放不会启动。