---
title: プロセスマネージャー(Process Manager)
description: Process Manager は、エンドユーザー端末に導入した Workstation Agent を通じてアプリケーションプロセスを監視します。
product: OpenLM Platform
---

## 概要

プロセスマネージャー(Process Manager)は、エンドユーザーのマシンにインストールされたWorkstation Agentを介してアプリケーションプロセスを監視します。アプリケーションの使用状況の追跡、実際の使用量の測定、特定のフィーチャーの監視、DLLアクティビティの分析が可能です。

DLL監視は、アプリケーション内の特定のフィーチャーを区別するのに役立ちます。使用状況を追跡し、ユーザーの非アクティブ状態に基づいてライセンスの解放を自動化する（ライセンスハーベスティング）ことで、ライセンスを管理できます。

## できること

- **使用状況の監視と区別**: アプリケーションと特定のフィーチャーを追跡します。
- **ライセンス管理**: ライセンスの使用状況を追跡し、ライセンスの可用性を積極的に管理します。
- **ライセンスハーベスティング**: アイドル状態のアプリケーションを自動的に閉じて、ライセンスを解放します。

## 前提条件

プロセスマネージャーを設定する前に、以下を確認してください。
- **プロセスマネージャーのアクティベート**: [Product製品]でアクティベートします。
- [Agent Activity Managerエージェントアクティビティマネージャー](https://openlm.com/documentation/ja/cloud/data-collection/agent_activity_manager): すべての対象マシンにWorkstation Agentをインストールします。
- [Broker Hubブローカーハブ](https://openlm.com/documentation/ja/cloud/data-collection/broker-hub)と[ライセンスサーバー*](https://openlm.com/documentation/ja/cloud/slm/license-servers): Brokerとライセンスマネージャーが設定されていることを確認します。

## Agent Procedureの設定

  return (
    <div style={{ position: 'relative', paddingBottom: 'calc(55.31746031746032% + 41px)', height: 0, width: '100%' }}>

    </div>
  )
}

1. プロセスマネージャーを開きます。
2. **[Agent Procedure]** タブに移動します。
3. **[Add Agent Procedure]** を選択します。
4. **[Add Agent Step]** をクリックします。
5. 方法を選択します。
   - Agent Kill（閉じる）
   - Agent Save and Close（保存して閉じる)
   - Agent Suspend（一時停止）
6. Agent Procedureに名前を付けてSave Asします。

##  プロセス設定

1. プロセスマネージャーを開きます。
2. 特定のアプリケーションのネットワークフローティングライセンス（拡張機能）が事前にリストされています。

*Processes*

3. 設定を変更するには、プロセスの横にある鉛筆アイコンを選択します。
   - **名前**: 正確な実行可能ファイル名を入力します（大文字と小文字を区別します）。
   - **説明**: 簡単に参照できるように詳細を入力します。
   - **ベンダー**: ベンダーを指定します。
   - 該当する場合は、**[ライセンスサーバーによって管理されるプロセス]** をアクティブにします。

## 新しいプロセスの追加

### 一般

**監視対象** - プロセスを追跡するには、ここにプロセス名を入力します。
ファイルまたはフォルダーを追跡するには、監視するディレクトリを指定します。

**説明**
**ベンダー**
**追跡タイプ**:
   - **プロセス** - プロセス名で追跡します。
   - **ファイル** - 特定のファイルからのプロセス起動を追跡します。
   - **ディレクトリ** - ディレクトリ内のすべてのプロセス起動を監視します。

**ライセンスサーバーによって管理されるプロセス** - このプロセスにライセンフィーチャーをアタッチできるようにするには、オンに切り替えます。

### プロセスリリース

[ライセンスリリース]タブでライセンスリリース設定を構成します。

1. この機能をアクティブにするには、トグルがオンになっていることを確認してください。

- **プロセスリリースメソッド**: [なしNone]、[Extensions拡張機能]、[Suspend一時停止]、または[Agent Procedure]を選択します。
- **自動プロセスリリース**: 自動プロセスリリースをアクティブまたは非アクティブにします。
- **しきい値**:
  - **使用率（%）後にライセンスをリリース**: ライセンスリリースを開始する使用レベルを設定します。
  - **プロセスリリースの最小アイドル時間**: ライセンスリリースを開始する非アクティブ期間を定義します（最小3分、アプリケーションによって異なります）。

:::tip
ライセンスの早期リリースを回避するために、しきい値を適切に設定してください。
:::

- **プロセスアイドル/アクティブ期間の追跡**: ユーザーの非アクティブ期間を監視します。
   - **アイドルとして報告するまでの時間（分）**: アイドル追跡を開始する間隔を設定します。

:::note
アイドル時間の追跡には50トークンが課金されます。
:::

**詳細設定**

システムリソース監視をアクティブにして、ソフトウェアの非アクティブ状態を判断します。

- 以下のしきい値を設定します。
  - ユーザー使用率 %
  - プロセッサ使用率 %
  - I/O操作/秒
- デフォルトは2%です。
- いずれかのしきい値を超えると、システムはアプリケーションをアクティブとしてマークし、それ以外の場合はアイドルとしてマークします。

:::tip
実際の使用パターン（2〜3台のワークステーションエージェントからのサンプル）に基づいてしきい値を調整します。
:::

### シャドウライセンス

**シャドウライセンス**を使用して、ベンダーライセンスマネージャーを使用しないアプリにライセンス形式の制御を適用します。同時使用の上限設定、ユーザーまたはワークステーションによる制限、使用が解放されるタイミングの制御が可能です。

#### 設定場所

**[プロセス]** → **[プロセスの追加]** または **[Edit Process]** → **[シャドウライセンス]** に移動します。

:::tip
プロセスレベルで設定します。親パッケージを使用すると、複数のプロセスが同じプールを共有できます。
:::

#### 消費ポリシー

OpenLMが使用量をカウントおよび制限する方法を設定します。

- **複数バージョンの拒否**
  指定した**設定済みバージョン**以外のすべてのバージョンをブロックします。

- **指名ユーザー制限の強制**
  同じユーザーが複数のワークステーションで同時にアプリを実行できないようにします。

- **消費ポリシータイプ**
  1単位を消費するスコープを選択します。
  - **プロセス** — 実行中の各プロセス。
  - **ワークステーション** — プロセス数に関係なく、マシンごとに1つ。
  - **ワークステーションのユーザー** — 特定のマシン上のユーザーごとに1つ。

- **無制限の同時インスタンス**
  - デフォルトでオンになっています。**[同時インスタンス制限]** を設定するには、**オフ**にします。
  - 制限なしの場合は`-1`を使用します。

- **親パッケージ（オプション）**
  プロセスを**親パッケージ**にリンクして、共有プールから取得します。
  プロセス制限**または**親制限の**いずれか**に達した場合、OpenLMはアクセスを拒否します。

:::info オフラインエージェントとオンラインエージェント
ポリシーは、**オンライン**Workstation Agentによって監視されるプロセスにグローバルに適用されます。**オフライン**エージェントの場合、**消費ポリシータイプ**のみが適用され、Workstation Agentごとに評価されます。
:::

#### リリースポリシー

アプリが閉じた後、OpenLMが消費されたユニットをいつ解放するかを決定します。OpenLMは、**リリース遅延**または**バケット期間**の**いずれか遅い方**を使用します。

- **リリース遅延（分）**
  猶予期間中、使用を保持します。遅延が終了する前にユーザーがアプリを再度開くと、同じセッションが続行されます。

- **バケット期間**
  リリースを時間バケットに合わせます。
  - **日** — 深夜0時にリリースします。
  - **時間** — 次の時間の開始時にリリースします。
  - **なし** — すぐにリリースします（リリース遅延は引き続き尊重されます）。

#### 例

- アプリが**14:50**に閉じ、**リリース遅延 = 20** → **バケット期間 = なし**の場合、**15:10**まで保持されます。
- アプリが**14:05**に閉じ、**リリース遅延 = 10**、**バケット期間 = 時間** → **15:00**にリリースされます（バケットは14:15より後です）。

#### ベストプラクティス

- **動作にスコープを一致させる**:
  ヘルパープロセスを生成するツールには**ワークステーション**を使用します。共有マシンには**ワークステーションのユーザー**を使用します。
- **指名ユーザー条件の保護**:
  契約ルールを反映させるには、**指名ユーザー制限の強制**を有効にします。
- **短い再起動の安定化**:
  アプリが更新中に閉じて再度開くときのチャーンを回避するために、小さな**リリース遅延**を設定します。
- **関連ツールのプール**:
  共通の上限を共有する必要があるスイートには、**親パッケージ**を使用します。

#### 達成できること

- 指名ユーザーおよび同時実行条件への**コンプライアンスの徹底**。
- プロセス、ワークステーション、またはユーザーによる**アクセスの制御**。
- 購入および更新の決定のために使用状況を追跡することによる**コストの削減**。
- ユーザーがジョブを終了したときにライセンスがプールに戻るようにリリースタイミングを調整することによる**可用性の向上**。

## フィーチャーとDLLの追加

1. 矢印アイコンを選択して、特定のフィーチャーとDLLを含めます。

*Adding a DLL in Process Manager*

2. DLLを追跡するには、Microsoft Process Explorerなどのツールを使用します。

## 監視レポート

### ネットワークフローティングライセンスの使用状況:

- **現在消費されているライセンス**（使用状況を参照） - アイドル時間を含みます。
- **ライセンスアクティビティレポート**（使用状況を参照） - アイドル時間を含みません。
- **アクティブなプロセス**（プロセスマネージャーを参照）。
- **プロセスセッション**（プロセスセッションを参照）。
- BIツールによる**詳細レポート**。

### スタンドアロンアプリケーションの使用状況:

- **アクティブなプロセス**（プロセスマネージャーマイクロサービス）。
- **プロセスセッション**（プロセスセッションマイクロサービス）。

:::note
使用状況サービスには、スタンドアロンアプリケーションの使用状況は表示されません。
:::

## ライセンスハーベスティングオプション

- **Noneなし**: アプリケーションのアイドル時間のみを監視します。
- **Extensions拡張機能**:
  - エージェントハブを介して作業を保存するフォルダーを指定します。
  - パーソナルダッシュボードを介して作業を再開します。
- **Suspend&Resume一時停止**:
  - アプリケーションをフリーズします。
  - パーソナルダッシュボードを介して再開します。
- **Agent Procedure手順**:
  - **Agent Save and Close保存して閉じる**: アプリケーションを自動的に保存して閉じます。特定のアプリケーション（例：ArcGIS Pro、MATLAB）の識別子を指定します。
  - **Agent Suspend一時停止**: アプリケーションをフリーズします。パーソナルダッシュボードを介して再開します。
  - **Agent Kill閉じる**: 保存せずにアプリケーションを強制的に閉じます。再開すると、アプリケーションは空の状態で再起動します。

:::danger
データ損失につながる可能性があるため、Agent Killは注意して使用してください。
:::

#### 概要

**プロセスリリース除外（Process Release Exclusion）**を使用すると、特定のユーザーまたはグループを自動ライセンスハーベスティング（プロセスリリース）から除外できます。アイドル時間の監視は全ユーザーに対して継続されます。除外は常時適用、またはスケジュールされた時間帯のみに適用できます。

この機能は、シミュレーション、レンダリング、データ分析など、長時間にわたるリソース集約型のタスクを実行するユーザーに有用です。これらのタスクでは、マウスやキーボードの入力がなくアプリケーションがアイドル状態に見えますが、重要な処理が実行中です。除外を設定しないと、設定されたアイドル閾値を超えた時点でシステムがライセンスを解放し、プロセスが終了して数時間分の作業が失われる可能性があります。

:::info 例
組織では MATLAB に5分のアイドルリリースルールを設定しています。ほとんどの従業員にとって、アイドル状態のライセンスがプールに素早く戻るため、このルールは有効です。しかし、一晩中シミュレーションを実行しているエンジニアの場合、計算処理が継続中であってもマウスが非アクティブなため、セッションが終了されてしまいます。プロセスリリース除外を使用すると、そのエンジニア（またはそのグループ）を除外して作業を保護できます — 常時、またはスケジュール指定（例：月曜日 08:00〜15:00）で設定可能です。
:::

#### 事前準備

- Process Manager の UI にアクセスできること。
- **Shadow Licenses** タブの消費ポリシータイプが **Workstation** に設定されて**いない**こと。ユーザー/グループ除外の有効化は、Workstation 消費ポリシータイプと互換性がありません。

#### ユーザーまたはグループの除外を設定

1. Process Manager で **Process Release** タブを開きます。
2. **Advanced settings** までスクロールし、**Enable user/group exclusions** をオンにします。
3. 少なくとも1人のユーザーまたは1つのグループを追加します。
   - **Add user** を選択し、検索可能なリストから1人以上のユーザーを選択します。
   - **Add group** を選択し、検索可能なリストから1つ以上のグループを選択します。
   - 選択したユーザー/グループの横にある **+** アイコンをクリックして除外リストに追加します。名前を選択しただけでは追加されません — **+** をクリックするとリストに表示されます。
   - 名前の横にある **X** を選択すると削除できます。
4. 除外を特定の時間帯に制限する場合は、**除外のスケジュール設定（任意）** に進みます。
5. **Save** を選択します。

#### 除外のスケジュール設定（任意）

デフォルトでは、除外は常時適用されます。定期的な時間帯に制限するには:

1. **Enable time framed user/group exclusions** をオンにします。
2. **開始時刻**と**終了時刻**を `HH:MM` 形式で設定します。
3. 除外を有効にする**曜日**を選択します。
4. **Save** を選択します。

:::tip
重要なワークロードの実行時間が事前にわかっている場合は、スケジュール除外を使用してください — 例えば、夜間バッチジョブや週次シミュレーションなど。スケジュールされた時間帯外では、通常のリリースルールが自動的に適用されます。
:::

#### 動作の仕組み

- **全ユーザー**: Workstation Agent はアイドル時間の監視とレポートを継続します。ライセンスハーベスティングルールは設定どおりに適用されます。
- **除外されたユーザー/グループ**: Process Manager は、監視対象プロセスに対する閾値超過のアイドル信号を License Harvester に送信しません。アプリケーションがアイドル閾値を超えても、ライセンスは**解放されません**。
- **スケジュールあり**: 除外は選択した曜日と時間帯のみ有効になります。時間帯外では通常のリリースルールが適用されます。
- **スケジュールなし**: 除外は常時有効です。

#### ルールと制限

- 除外を有効にする場合、少なくとも1人のユーザーまたは1つのグループが必要です。
- スケジュール除外が有効な場合、開始時刻と終了時刻の両方が必要で、終了時刻は開始時刻より後である必要があります。

#### トラブルシューティング

| 問題 | 解決方法 |
|---|---|
| ユーザー/グループ除外を有効にできない | **Shadow Licenses** タブで消費ポリシータイプが **Workstation** に設定されていないことを確認してください。 |
| 変更を保存できない | **+** ボタンを使用して、少なくとも1人のユーザーまたは1つのグループが追加されていることを確認してください。 |
