【发布时间】:2017-12-14 18:49:03
【问题描述】:
我在 Ubuntu 服务器上运行 Pentaho 数据集成。我有多个使用 Jenkins 作为协调器在不同时间运行的作业。我注意到有时 PDI 作业永远不会结束(我没有得到退出代码,并且日志在进程中间冻结,没有例外),当我检查服务器的内存时,它已完全分配。这提出了以下问题:
- 当服务器的内存完全分配时,Pentaho 不应该抛出 OutOfMemory Java 异常吗?
- 如果我没有运行服务器的进程,为什么会启动 Pentago biserver-ee?我只使用 kitchen.sh 运行作业。
- 为什么我总是有一个持久的 Pentaho 进程在运行(参见图中的进程 #2)?一定是 Pentaho 进程,因为 Java 参数和我的spoon.sh 配置一样,但是如果所有作业都完成了,它应该是持久的吗?
- Spoon/kettle/PDI/Pentago 是否启动持久进程来分配 Xms 参数指定的内存?
- 为什么我的 Pentaho 持久进程始终 100% 使用 1 个内核?
这是没有意义的,因为目前没有任何东西在运行。我想知道当日志停止打印结果时如何识别问题,所以我不知道从哪里开始解决这个问题。
我附上了一张我的服务器上消耗内存的三个进程(Jenkins、Pentaho BI Server 和 Spoon)的图像以及我的服务器、Java 和 Pentaho 设置的规格。
服务器规格(它是使用 VmWare 创建的虚拟机):
- 操作系统:Ubuntu 14.04.4
- 内存:12GB
- 核心数:4
我的 Java 版本是“1.8.0_101”
我在spoon.sh中修改了内存参数如下:
- Xms:1024m
- Xmx:7GB
- XX:MaxPermSize=2GB
【问题讨论】:
标签: ubuntu ubuntu-14.04 pentaho pentaho-spoon pentaho-data-integration