Strategy ONE
Berechtigungsfehler
Dieser Abschnitt enthält Informationen zur Fehlerbehebung bei Berechtigungsfehlern in einer Linux-Umgebung.
Falsches „Nice“-Wertlimit
Um die Leistung bei hoher CPU-Auslastung zu verbessern, priorisiert der Intelligence Server die Ausführung zeitkritischer Jobs, wie z. B. die Ausführung interaktiver Dashboards, gegenüber Hintergrundanforderungen, wie z. B. Smart Downloads. Um einen solchen zu erreichen Jobpriorisierung -Mechanismus dürfen die Threads, die interaktive Aufträge ausführen, einen größeren Teil der CPU-Zeit beanspruchen. Entsprechend wird Threads für Hintergrundanforderungen ein kleinerer CPU-Zeitblock zugewiesen.
Unter Linux wird die CPU-Blockgröße eines Threads von gesteuert nice
Wert mit an inverse Beziehung zur CPU-Zeit (und Priorität). Damit jeder eingehende Auftrag oder jede eingehende Anforderung mit der richtigen Priorität ausgeführt wird, wählt der Intelligence Server einen oder mehrere Threads aus einem Pool aus und weist den Threads dynamisch die richtige zu nice
Wert zum Ausführen des Auftrags oder der Anfrage und setzt dann zurück nice
Wert auf den Standardwert von setzen 0
, bevor die Threads an den Pool zurückgegeben werden. Diese dynamische nice
Wertzuweisung, insbesondere für das Zurücksetzen auf 0
erfordert nach dem Erhöhen des netten Werts (De-Priorisierung) der Threads der Hintergrundanforderungen die Konfiguration von a Benutzerebene Grenzwert für nice
.
Um die Komplexität der Bereitstellung zu verringern, konfiguriert das MicroStrategy-Installationsprogramm automatisch nice
Wert, sofern sie von a ausgeführt wurde root
Benutzer. Andernfalls, wenn das Installationsprogramm von einem Nicht-Benutzer ausgeführt wird.root
Benutzer, der nice
Der Grenzwert kann nicht konfiguriert werden und die folgenden Meldungen werden angezeigt.
-
Das MicroStrategy-Installationsprogramm zeigt am Ende des Installationsvorgangs eine der folgenden Meldungen an.
-
Wenn das Installationsprogramm über die Befehlszeile ausgeführt wird, wird eine ähnliche Meldung wie die Standardausgabe angezeigt. Wenn das Installationsprogramm hingegen im unbeaufsichtigten Modus ausgeführt wird, werden die folgenden Einträge zu hinzugefügt install.log Datei.
Kopieren3 Jun 2020, 11:35:27 AM:SEVERE: Failed to set MicroStrategy Intelligence priority process settings
3 Jun 2020, 11:35:27 AM:SEVERE: Priority process settings for MicroStrategy Intelligence doesn't meet the requirements
3 Jun 2020, 11:35:27 AM:SEVERE: Root privileges are required to configure the nice limit to 0 or lower -
Trotz der obigen Fehlermeldung kann der Intelligence Server nach Abschluss der Installation weiterhin gestartet werden. Um das Falsche zu verifizieren
nice
Grenzwerte bei Ausführung von Intelligence Server nicht überschreiten, öffnen Sie dieDSSErrors.log
-Datei und suchen Sie nach den folgenden Einträgen:Kopieren... [Kernel][Error] ... The maximum scheduling priority ("nice") returned by "ulimit - e" has a value of %1. It does not satisfy the job prioritization feature's requirement that expects a value of 20 or higher. Please refer to the man page of "ulimit".
Kopieren... [Kernel][Info] ... The job prioritization feature is disabled.
Um das Problem zu beheben, müssen Sie das Maximum konfigurieren nice
Grenzwert, der anhand von überprüft werden kann ulimit -e
Befehlstaste, bis der richtige Wert für angezeigt wird 20
, oder höher, wird zurückgegeben. Zu konfigurieren und zu überprüfen nice
Grenzwert finden Sie in den folgenden Schritten:
- Stoppen Sie den Intelligence Server, falls er ausgeführt wird.
- Unter Verwendung des Superuser-Privilegs (z. B. mit
sudo
) verwenden, erstellen Sie eine neue Konfigurationsdatei. MicroStrategy empfiehlt, den Namen zu verwendenmstr-priority.conf
unter dem/etc/security/limits.d
Ordner. -
Fügen Sie der Konfigurationsdatei die folgenden Einträge hinzu:
Kopierenmstr hard nice 0
mstr soft nice 0 - Speichern Sie die Konfigurationsdatei.
- Starten Sie Ihre bestehende Sitzung neu, um die neuen Limits anzuwenden. Bei Verwendung von SSH können Sie die Verbindung zur neuen Sitzung einfach trennen und wiederherstellen. Bei Verwendung von VNC können Sie den Dienst neu starten, z. B. über a
systemctl restart vncserver@:1.service
-Befehl aus und stellen Sie dann erneut eine Verbindung zur Sitzung her. Stellen Sie in beiden Fällen sichermstr
Benutzer wird zum erneuten Verbinden verwendet. - Überprüfen Sie die Einstellung durch Ausführen
ulimit -e
und bestätigen Sie, dass der zurückgegebene Wert lautet20
, oder höher. - Starten Sie den Intelligence Server neu.
- Überprüfen Sie die
DSSErrors.log
, um sicherzustellen, dass keine Fehlermeldung bzgl. angezeigt wirdnice
Grenzwert und Jobpriorisierung ist aktiviert.
Mit den oben beschriebenen Einstellungen wird nur das Maximum geändert nice
Wert für mstr
Benutzer festgelegt und sollte keine Auswirkungen auf andere Benutzer haben. Beachten Sie die folgenden beiden Sonderszenarien:
- Sie müssen ersetzen
mstr
mit dem Benutzernamen, unter dem Intelligence Server in den obigen Schritten ausgeführt wird. Das MicroStrategy-Installationsprogramm erstellt standardmäßig einemstr
Geben Sie einen Benutzer für diesen Zweck ein, Sie können jedoch während oder einen anderen Benutzer auswählen nach der Installation. -
Bei der Ausführung von Intelligence Server über eine VNC-Sitzung, die mit gestartet wurde
systemd
, Schritt 6 gibt möglicherweise nicht den richtigen Wert zurück,20
, aus diesem Grund bekanntes Linux-Problem. Um dieses Problem zu beheben, fügen Sie die folgende Einstellung zu / hinzuetc/systemd/user.conf
und/etc/systemd/system.conf
:KopierenDefaultLimitNICE=20
Führen Sie aus, um die Einstellung anzuwenden
systemctl daemon-reexec
und starten Sie Ihre VNC-Sitzung neu, z. B. unter Verwendung von asystemctl restart vncserver@:1.service
Befehl. Alternativ können Sie Ihren Computer neu starten. - Ihr Linux-Computer verfügt möglicherweise über zusätzliche Grenzwerteinstellungen auf Benutzer- oder Systemebene, die dies verhindern
ulimit -e
von der Rückgabe des richtigen Werts für entfernt20
, oder höher. Überprüfen Sie in diesem Fall die verfügbaren Limit-Einstellungen für Ihre spezifische Linux-Distribution.