Lookup Engine Name from Windows process

🔎 Identify an Engine from a Windows Process

When multiple GermainUX Engines run on the same Windows server, Task Manager may not display the complete Java command line. This can make it difficult to determine which Windows process belongs to a specific Engine.

Use one of the following methods to display the process ID and complete command line.

⚙️ PowerShell method

Open PowerShell and run:

Get-CimInstance Win32_Process |
    Where-Object {
        $_.Name -match "java" -and
        $_.CommandLine -match "germain.engine"
    } |
    Select-Object ProcessId, Name, CommandLine |
    Format-List

Look for the following JVM property:

-Dgermain.engine=<engine-name>

Example:

ProcessId  : 6248
Name       : java.exe
CommandLine: java ... -Dgermain.engine=standalone ...

In this example:

Engine name: standalone
Process ID:  6248

💻 WMIC method

On Windows versions where WMIC is available, open Command Prompt and run:

wmic process get Name,ProcessId,CommandLine /format:table > file.txt

Open:

file.txt

Search for:

germain.engine

The Java command line should contain:

-Dgermain.engine=<engine-name>

WMIC has been removed from some recent Windows versions. Use the PowerShell method when the command is unavailable.

🔗 Match the process to GermainUX

After identifying the Engine name:

Step

Action

Sign in

Sign in to the GermainUX Workspace.

Open settings

Open GermainUX Workspace → Left Menu → Settings → Germain -> State.

Select view

Select the Engines view.

Search

Search for the Engine name.

Confirm

Confirm its node, status, assigned components, and process information.

This verifies that the Windows process corresponds to the expected Engine.

👥 Display all GermainUX Java processes

To include the Engine Manager and other GermainUX Java processes:

Get-CimInstance Win32_Process |
    Where-Object {
        $_.Name -match "java" -and
        $_.CommandLine -match "germain|apm-engine"
    } |
    Select-Object ProcessId, ParentProcessId, Name, CommandLine |
    Format-List

The Engine Manager normally contains a reference to:

apm-engine-manager.jar

An individual Engine normally contains:

-Dgermain.engine=<engine-name>

📊 Check resource utilization

After identifying the process ID:

Get-Process -Id <process-id> |
    Select-Object Id, ProcessName, CPU, WorkingSet64, StartTime

Example:

Get-Process -Id 6248 |
    Select-Object Id, ProcessName, CPU, WorkingSet64, StartTime

This helps associate high CPU or memory usage with the correct Engine.

warning Before stopping a process

Do not terminate a Java process until you have confirmed:

Check

Its Engine name

Its node and host

Its assigned monitoring or automation components

Whether another Engine depends on the same Engine Manager

The operational impact of stopping it

Whenever possible, stop or restart the Engine through Germain > State or the Engine Manager instead of terminating the Windows process directly.

A forced process termination can interrupt monitoring, automation, or local state updates.

🔧 Troubleshooting

❗ No matching processes are returned

Confirm that:

Check

The Engine is running.

PowerShell was opened with sufficient permissions.

The Java process command line contains germain.engine.

The Engine runs under another Windows account or session.

The Engine is deployed as a container rather than a Windows process.

⛔ The command line is blank

Windows may restrict access to process command lines. Run PowerShell as an administrator and retry.

🔁 Multiple processes use the same Engine name

Check for:

Possible cause

Duplicate Engine services

A previous Engine process that did not stop

Multiple installations using the same configuration

Incorrect node or Engine naming

Review EngineManager.log before terminating either process.



Component: Engine

Feature Availability: 2024.1