2014年6月30日月曜日

PaperCut で利用可能なメモリの増加方法


【注記】この記事はPaperCutが使用するメモリ量を制限したい場合に役立ちます。
例えば、数十GBのメモリが搭載された物理ホストでPaperCutを実行している場合などです。

デフォルトでは、PaperCut アプリケーション・サーバは、システム・メモリの最大1/4の最大RAM割り当てに制限されています。
PaperCut が多くのリソースを消費せず、同じシステム上に動作している他のアプリケーションと問題なく動作することを保証します。

PaperCutアプリケーション・サーバ専用のサーバである場合、アプリケーション・サーバのコンポーネントが使用できるメモリ量を増やすことができます。
メモリ量を増やすことにより、特にユーザ数や印刷量が多いサイトで、アプリケーションのパフォーマンスを向上させることができます。
RAM割り当てを増加すると、ディスクやデータのキャッシュなどの最適化を実行できるようになります。
これによりデータベース駆動型アプリケーションであるPaperCutは大きな恩恵を受けることになります。

PaperCutアプリケーションがマシンのメモリの最大1/2を使用できるようにしてから、
システムに少なくとも合計4GBのメモリをプロビジョニングするように設定するお客様が多いです。
これにより、アプリケーション・サーバにジョブの処理および解析するのに十分なリソースを提供し、
プリント・サーバに必要なオペレーティング・システム・レベルのタスクをマシンに処理させることのバランスをとることができます。
サーバの負荷とパフォーマンスは大きく異なるため、リソースの不足が原因であると思われるパフォーマンスの問題が発生した場合、
構成を検証し、割り当てるメモリ(およびCPUコア数)を増やすことを強く推奨します。

【注記】 メモリ量が多いほど良いとは限りません。
             アプリケーション・サーバのホストに過剰な量のシステム・メモリを割り当てると、パフォーマンスに悪影響を与える場合もあります。
             PaperCutはJavaアプリケーションであるため、適切なメモリ割り当てを維持するJavaの「ガベージ・コレクション」アクティビティの対象となります。
             アプリケーション・サーバが大量のメモリを使用できる場合、完全なガベージ・コレクションはそれほど頻繁には発生しませんが、
             完了するまでに時間がかかります。
             これらの操作が完了する間、アプリケーション・サーバは一時的に停止する必要があるため、
             使用可能なメモリの量が比較的少ないCPUリソースによって不均衡である場合、
             非常に応答性の低い動作の周期的なスパイクとして観察される可能性があります。



最大メモリの増加方法 (Windows/Linux/iPrint)
PaperCut で利用できるメモリ量の増加方法は下記の通りです。

1. 次のディレクトリにある「service.conf」をテキスト・エディタから開いてください: [app-path]\server\custom\
      注記: PaperCut Plus/MF Ver. 17.3以前を使用している場合、「custom」フォルダ内に「service.conf」はないため、ファイルを作成する必要があります。

2. 「service.conf」に追記します。
      PaperCut が使用する物理RAM の1/3 の場合は下記の行を記述してください:
         wrapper.java.additional.6=-XX:DefaultMaxRAMFraction=3
      PaperCut が使用する物理RAMが1/2 の場合は下記の行を記述してください:
         wrapper.java.additional.6=-XX:DefaultMaxRAMFraction=2
      使用する物理RAM の量を指定する場合。例: PaperCut で768MB 使用する場合は次の行を追加してください:
         wrapper.java.additional.6=-Xmx768m
      注記: PaperCut で使用できるメモリを1GB まで増加することができます。さらに増加させたい場合は、弊社までお問い合わせください。

3. 「service.conf」を保存して閉じてください。

4. PaperCut Application Server を再起動してください。( [コントロールパネル] – [管理ツール] – [サービス])

5. サービス再起動後、server.log ([app-path]\server\logs\server.log)に
      新しい「max memory (最大メモリ) 」設定が記録されているかどうかを確認してください。



最大メモリの増加方法 (macOS)
Mac上で動作するPaperCut で利用できるメモリ量の増加方法は下記の通りです。

1. 次のディレクトリにある「launch-app-server.conf」を開いてください: [app-path]\server\custom\
      注記: PaperCut Plus/MF Ver. 17.3以前を使用している場合、「custom」フォルダ内に「launch-app-server.conf」はないため、
              ファイルを作成する必要があります。
              ファイルのアクセス権限を変更してください。すべてのユーザに読み取りアクセス権限を付与してください。
              (もしくは最低でもpapercut ユーザに読み取りアクセスを付与)

2. 「launch-app-server.conf」に追記します。
      PaperCutが使用する物理RAMを256MBに設定する場合:
         PC_CUSTOM_SERVER_ARG=-Xmx256m
      PaperCutが使用する物理RAMを512MBに設定する場合:
         PC_CUSTOM_SERVER_ARG=-Xmx512m

3. 「launch-app-server.conf」を保存して閉じてください。

4. PaperCut Application Server を再起動してください。
      ([app-path]/server/bin/mac/ にあるスクリプト「stop-server.command」と「start-server.command」を実行してください。 )

5. サービス再起動後、server.log ([app-path]\server\logs\server.log)に
      新しい「max memory (最大メモリ) 」設定が記録されているかどうかを確認してください。



メモリ不足やCPUの使用率が高い場合
PaperCut はメモリ不足になると、「OutOfMemoryError」がservice.log に記録されます。同じくメモリ不足を示す
「GC overhead limit exceeded」が表示される場合もあります。
メモリ不足を示す他の指標として、プロセス/サービスの「pc-app」が様々なタスクのためにRAMを再配置しようとすることにより、
長時間にわたりCPUの使用率が高い場合があります。
これら現象が発生した場合、サーバにメモリが必要です。

・ サーバにRAMを追加してください。弊社では少なくとも4GB以上のRAMを推奨します。
  弊社の大規模なお客様は16GB以上のRAMを使用されています。

・ PaperCut が使用できるメモリの最大値を増加してください。
  これはサーバ上でPaperCut 以外のアプリケーションを実行していない場合に推奨します。

-------------------------
https://www.papercut.com/kb/Main/IncreaseMaxMemoryUsage

0 件のコメント :

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。