MicroStrategy ONE
Erreurs d'autorisation
Cette section fournit des informations de dépannage sur les erreurs d'autorisation dans un environnement Linux.
Limite de valeur « sympa » incorrecte
Pour améliorer les performances sous des charges CPU élevées, Intelligence Server donne la priorité à l'exécution des tâches critiques, telles que l'exécution de tableaux de bord interactifs, par rapport aux requêtes en arrière-plan, telles que les téléchargements intelligents. Pour parvenir à un tel hiérarchisation des tâches, les threads qui exécutent des tâches interactives sont autorisés à occuper une plus grande partie du temps de processeur. De manière équivalente, les threads pour les requêtes en arrière-plan se voient attribuer une tranche de temps CPU plus petite.
Dans le système d'exploitation Linux, la taille du bloc de processeur d'un thread est contrôlée par son nice
valeur, qui a inversement par rapport au temps de processeur (et à la priorité). Pour exécuter chaque tâche ou requête entrante avec la priorité correcte, Intelligence Server sélectionne un ou plusieurs threads à partir d'un pool, assigne dynamiquement les threads avec une bonne nice
pour exécuter la tâche ou la requête, puis réinitialise la nice
valeur à la valeur par défaut de 0
, avant de renvoyer les threads vers le pool. Cette dynamique nice
affectation de valeur, en particulier pour la réinitialisation 0
après avoir augmenté la valeur de gentillesse (dépriorisation) des threads des requêtes d'arrière-plan, nécessite la configuration d'un niveau utilisateur limite pour nice
.
Pour alléger la complexité du déploiement, le programme d'installation MicroStrategy configure automatiquement nice
valeur, tant qu'elle était exécutée par un root
utilisateur. Sinon, si le programme d'installation est exécuté par une personne nonroot
utilisateur, l' nice
La limite ne peut pas être configurée et les messages suivants sont affichés.
-
Le programme d'installation MicroStrategy affichera l'un des messages suivants ci-dessous à la fin du processus d'installation.
-
Un message similaire s'affiche sur la sortie standard lorsque le programme d'installation est exécuté à partir de la ligne de commande. D'autre part, si le programme d'installation est exécuté en mode silencieux, les entrées suivantes sont ajoutées dans install.log fichier.
Copier3 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 -
Malgré le message d'erreur ci-dessus, Intelligence Server peut toujours être démarré une fois l'installation terminée. Pour vérifier l'erreur
nice
limites lorsque Intelligence Server est en cours d'exécution, ouvrez laDSSErrors.log
fichier et rechercher les entrées suivantes :Copier... [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".
Copier... [Kernel][Info] ... The job prioritization feature is disabled.
Pour résoudre ce problème, vous devez configurer le maximum nice
limite, qui peut être vérifiée à l'aide de la ulimit -e
commande, jusqu'à ce que la valeur correcte de 20
, ou une version ultérieure, est renvoyé. Pour configurer et vérifier nice
limite, reportez-vous aux étapes suivantes :
- Arrêtez Intelligence Server s’il est en cours d’exécution.
- En utilisant le privilège de super utilisateur (par exemple, avec
sudo
command), créez un fichier de configuration. MicroStrategy vous recommande d'utiliser le nommstr-priority.conf
sous la/etc/security/limits.d
dossier . -
Ajoutez les entrées suivantes au fichier de configuration :
Copiermstr hard nice 0
mstr soft nice 0 - Enregistrez le fichier de configuration.
- Redémarrez votre session existante pour appliquer les nouvelles limites. Vous pouvez simplement vous déconnecter et vous reconnecter à la nouvelle session lorsque vous utilisez SSH. Lorsque vous utilisez VNC, vous pouvez redémarrer le service, par exemple en utilisant un
systemctl restart vncserver@:1.service
commande , puis reconnectez-vous à la session. Dans les deux cas, assurez-vousmstr
l'utilisateur est utilisé pour se reconnecter. - Vérifier le paramètre en exécutant
ulimit -e
et confirmer que la valeur renvoyée est20
, ou une version ultérieure. - Redémarrez le serveur Intelligence Server.
- Vérifier
DSSErrors.log
pour vérifier qu'il n'y a pas de message d'erreur concernantnice
limite et la hiérarchisation des tâches est activée.
Les paramètres décrits ci-dessus modifient uniquement le maximum nice
valeur pour mstr
utilisateur et ne devrait pas affecter les autres utilisateurs. Vous devez être conscient des deux scénarios spéciaux suivants :
- Vous devez remplacer
mstr
avec le nom d'utilisateur qui exécutera Intelligence Server lors des étapes ci-dessus. Par défaut, le programme d'installation MicroStrategy crée unemstr
utilisateur à cette fin, mais vous pouvez choisir un autre utilisateur pendant ou après l'installation. -
Lors de l'exécution d'Intelligence Server via une session VNC qui a commencé à utiliser
systemd
, l'étape 6 peut ne pas renvoyer la valeur correcte,20
, à cause de cela problème Linux connu. Pour résoudre ce problème, ajoutez le paramètre suivant à /etc/systemd/user.conf
et/etc/systemd/system.conf
:CopierDefaultLimitNICE=20
Pour appliquer le paramètre, exécutez
systemctl daemon-reexec
et redémarrez votre session VNC, par exemple en utilisant unsystemctl restart vncserver@:1.service
commande. Vous pouvez également redémarrer votre ordinateur. - Votre ordinateur Linux peut avoir des paramètres de limite utilisateur ou système supplémentaires qui empêchent
ulimit -e
de renvoyer la valeur correcte de20
, ou une version ultérieure. Dans ce cas, veuillez consulter les paramètres de limite disponibles pour votre distribution Linux spécifique.