2017-02-28 30 views
0

私の仕事では、テーブル入力ステップを介してSQL Serverのストアドプロシージャから5,000レコードを読み込む基本的なPentaho変換があります。このデータには5つの列があり、そのうちの1つはXML列です。 'テーブル入力'の後に、 'テキストファイル出力'ステップが実行されます。このステップでは、列の1つから保存するパスとxmlデータをフィールドタブで提供される唯一のフィールドとして保存します。これにより、 'Table Input'から 'Text File Output'にデータをストリーミングすることで、指定された場所に5,000個のXMLファイルが作成されます。Pentahoケトル - テーブル入力とテキストファイル出力のためのCPU使用率100%

このジョブを実行すると、ジョブの実行中に99-100%のCPU使用率で実行され、その後、5〜10%のCPU使用率に戻されます。 PentahoまたはコマンドプロンプトからCPU使用率を制御する方法はありますか?これは、インテルXeon CPU E5-2680 v2 @ 2.8 GHzプロセッサを搭載した4GBのRAMを搭載したWindows Server 2012 R2マシンで実行されています。メモリ使用量がSpoon.batによって制御されることがありますが、CPU使用率を制御するためのオンライン検索はありませんでした。

+0

[リソースガバナー?](https://msdn.microsoft.com/en-us/library/bb933866.aspx) –

+0

リンクをありがとうが、問題の半分だけがSQL Server側からデータを読み込んでいる。残りの半分はPentahoでXMLファイルを書くために起こっています。 –

答えて

0

私の経験では、これらのステップはいずれも通常の状況でCPUを大量に消費しません。私が考えることができる2つの原因は次のとおりです。

XMLをフォーマットしようとすると窒息します。これは、テーブルの入力ステップで遅延変換をチェックし、テキストファイルの出力ステップでを高速データダンプ(フォーマットなし)にチェックすることで修正されます。次に、文字列データをストリームするだけです。

もう1つは、Pentahoのメモリが不足しているために、巨大なXMLがあり、実際にはガベージコレクションであることです。最大ヒープスペース(起動スクリプトの-Xmx1024mオプション)を増やしてテストしてください。

関連する問題