> For the complete documentation index, see [llms.txt](https://docs.enginsight.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.enginsight.com/docs/knowledge-base/pulsar/wie-lege-ich-fur-den-enginsight-pulsar-ein-cpu-profil-oder-ein-ram-profil-an.md).

# Wie lege ich für den Enginsight Pulsar ein CPU-Profil oder ein RAM-Profil an?

Wenn der Enginsight Agent Pulsar auf einem Host zu viele CPU-Ressourcen und/oder Arbeitsspeicher benötigt, kannst du ein CPU-Profil oder ein RAM-Profil des Pulsars erstellen, um zu analysieren, wo genau das Problem liegt.

Die Vorgehensweise für die Erstellung solcher Profile unterscheidet sich je nachdem, welches Betriebssystem ([Windows](#windows) oder [Linux](#linux)) auf dem Host läuft, auf dem der entsprechende Pulsar installiert ist.

***

## Windows

Nimm folgende Schritte vor, wenn du den Pulsar auf einem Windows-Host installiert hast:

{% stepper %}
{% step %}

### Konfiguration des Pulsar-Dienstes anpassen

1. Logge dich auf dem Windows-Host ein, für dessen Pulsar du ein Profil erstellen möchtest.
2. Öffne das Dienste-Tool (**services.msc**) als Administrator.
3. Beende den Dienst für den **Enginsight Pulsar** sowie den **Enginsight Supervisor**-Dienst.
4. Öffne eine PowerShell oder das Windows-Kommandozeilen-Tool als Administrator.
5. Passe die Konfiguration des **Enginsight Pulsar**-Dienstes mit folgendem Befehl an:

```
sc.exe config "Enginsight Pulsar" binpath= "C:\Program Files\Enginsight\Pulsar\ngs-pulsar-amd64.exe -profile"
```

{% hint style="danger" %}
**Bitte beachte**: Das Leerzeichen nach `binpath=` muss vorhanden sein!
{% endhint %}

6. Starte den **Enginsight Pulsar**-Dienst wieder.
   {% endstep %}

{% step %}

### CPU-Profil erstellen

1. Öffne eine PowerShell als Administrator.
2. Erstelle das CPU-Profil mit folgendem Befehl:

```
Invoke-WebRequest "http://localhost:6060/debug/pprof/profile?seconds=<Sekunden>" -OutFile profile.out -TimeoutSec <Sekunden+10>
```

{% hint style="info" %}
Vergiss dabei nicht, die Platzhalter `<Sekunden>` und `<Sekunden+10>` durch die Messdauer in Sekunden zu ersetzen.
{% endhint %}

{% hint style="danger" %}
**Bitte beachte**: Die Messdauer muss **mindestens** **120 Sekunden** betragen!
{% endhint %}
{% endstep %}

{% step %}

### RAM-Profil erstellen

1. Öffne eine PowerShell als Administrator.
2. Erstelle das RAM-Profil mit folgendem Befehl:

```
Invoke-WebRequest "http://localhost:6060/debug/pprof/heap" -OutFile heap.out
```

{% endstep %}

{% step %}

### Konfigurationsänderung des Pulsar-Dienstes rückgängig machen

Nachdem du ein CPU- und/oder RAM-Profil erstellt hast, kannst du die Konfigurationsänderung des **Enginsight Pulsar**-Dienstes wieder rückgängig machen.

1. Öffne das Dienste-Tool (**services.msc**) als Administrator.
2. Beende den Dienst für den **Enginsight Pulsar**.
3. Öffne eine PowerShell oder das Windows-Kommandozeilen-Tool als Administrator.
4. Passe die Konfiguration des **Enginsight Pulsar**-Dienstes mit folgendem Befehl an:

```
sc.exe config "Enginsight Pulsar" binpath= "C:\Program Files\Enginsight\Pulsar\ngs-pulsar-amd64.exe"
```

5. Starte den **Enginsight Pulsar**-Dienst wieder.
   {% endstep %}
   {% endstepper %}

***

## Linux

Nimm folgende Schritte vor, wenn du den Pulsar auf einem Linux-Host installiert hast:

{% stepper %}
{% step %}

### Konfiguration des Pulsar-Dienstes anpassen

1. Logge dich auf dem Linux-Host ein, für dessen Pulsar du ein Profil erstellen möchtest.
2. Beende den Dienst für den Pulsar mit folgendem Befehl:

```
sudo systemctl stop ngs-pulsar
```

3. Öffne die Konfigurationsdatei des Pulsar-Dienstes mit folgendem Befehl:

```
sudo nano /etc/systemd/system/ngs-pulsar.service
```

4. Navigiere zur Zeile `ExecStart` und passe sie wie folgt an:

```
ExecStart=/opt/enginsight/pulsar/ngs-pulsar -profile
```

5. Speichere die Datei (**Strg** + **o**) und bestätige den Speicherprozess. Schließe die Datei (**Strg** + **x**).
6. Lade die Konfiguration des Pulsar-Dienstes mit folgendem Befehl neu:

```
sudo systemctl daemon-reload
```

7. Starte den Pulsar-Dienst mit folgendem Befehl wieder:

```
sudo systemctl start ngs-pulsar
```

{% endstep %}

{% step %}

### CPU-Profil erstellen

Erstelle das CPU-Profil mit folgendem Befehl:

```
curl "http://localhost:6060/debug/pprof/profile?seconds=<Sekunden>" > profile.out
```

{% hint style="info" %}
Vergiss dabei nicht, den Platzhalter `<Sekunden>` durch die Messdauer in Sekunden zu ersetzen.
{% endhint %}

{% hint style="danger" %}
**Bitte beachte**: Die Messdauer muss **mindestens** **120 Sekunden** betragen!
{% endhint %}
{% endstep %}

{% step %}

### RAM-Profil erstellen

Erstelle das RAM-Profil mit folgendem Befehl:

```
curl "http://localhost:6060/debug/pprof/heap" > heap.out
```

{% endstep %}

{% step %}

### Konfigurationsänderung des Pulsar-Dienstes rückgängig machen

Nachdem du ein CPU- und/oder RAM-Profil erstellt hast, kannst du die Konfigurationsänderung des Pulsar-Dienstes wieder rückgängig machen.

1. Beende den Dienst für den Pulsar mit folgendem Befehl:

```
sudo systemctl stop ngs-pulsar
```

2. Öffne die Konfigurationsdatei des Pulsar-Dienstes mit folgendem Befehl:

```
sudo nano /etc/systemd/system/ngs-pulsar.service
```

3. Navigiere zur Zeile `ExecStart` und entferne die Flag `-profile` wieder:

```
ExecStart=/opt/enginsight/pulsar/ngs-pulsar
```

4. Speichere die Datei (**Strg** + **o**) und bestätige den Speicherprozess. Schließe die Datei (**Strg** + **x**).
5. Lade die Konfiguration des Pulsar-Dienstes mit folgendem Befehl neu:

```
sudo systemctl daemon-reload
```

6. Starte den Pulsar-Dienst mit folgendem Befehl wieder:

```
sudo systemctl start ngs-pulsar
```

{% endstep %}
{% endstepper %}

***
