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.

    Kopieren
    3 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 die DSSErrors.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:

  1. Stoppen Sie den Intelligence Server, falls er ausgeführt wird.
  2. Unter Verwendung des Superuser-Privilegs (z. B. mit sudo ) verwenden, erstellen Sie eine neue Konfigurationsdatei. MicroStrategy empfiehlt, den Namen zu verwenden mstr-priority.conf unter dem /etc/security/limits.d Ordner.
  3. Fügen Sie der Konfigurationsdatei die folgenden Einträge hinzu:

    Kopieren
    mstr  hard  nice  0
    mstr  soft  nice  0
  4. Speichern Sie die Konfigurationsdatei.
  5. 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 sicher mstr Benutzer wird zum erneuten Verbinden verwendet.
  6. Überprüfen Sie die Einstellung durch Ausführen ulimit -e und bestätigen Sie, dass der zurückgegebene Wert lautet 20, oder höher.
  7. Starten Sie den Intelligence Server neu.
  8. Überprüfen Sie die DSSErrors.log, um sicherzustellen, dass keine Fehlermeldung bzgl. angezeigt wird nice 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 eine mstr 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:

    Kopieren
    DefaultLimitNICE=20

    Führen Sie aus, um die Einstellung anzuwenden systemctl daemon-reexec und starten Sie Ihre VNC-Sitzung neu, z. B. unter Verwendung von a systemctl 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 entfernt 20, oder höher. Überprüfen Sie in diesem Fall die verfügbaren Limit-Einstellungen für Ihre spezifische Linux-Distribution.