Strategy 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
nicelimites lorsque Intelligence Server est en cours d'exécution, ouvrez laDSSErrors.logfichier 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
sudocommand), créez un fichier de configuration. MicroStrategy vous recommande d'utiliser le nommstr-priority.confsous la/etc/security/limits.ddossier . -
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.servicecommande , puis reconnectez-vous à la session. Dans les deux cas, assurez-vousmstrl'utilisateur est utilisé pour se reconnecter. - Vérifier le paramètre en exécutant
ulimit -eet confirmer que la valeur renvoyée est20, ou une version ultérieure. - Redémarrez le serveur Intelligence Server.
- Vérifier
DSSErrors.logpour vérifier qu'il n'y a pas de message d'erreur concernantnicelimite 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
mstravec le nom d'utilisateur qui exécutera Intelligence Server lors des étapes ci-dessus. Par défaut, le programme d'installation MicroStrategy crée unemstrutilisateur à 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.confet/etc/systemd/system.conf:CopierDefaultLimitNICE=20Pour appliquer le paramètre, exécutez
systemctl daemon-reexecet redémarrez votre session VNC, par exemple en utilisant unsystemctl restart vncserver@:1.servicecommande. 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 -ede 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.
