7 votes

ulimit -n affiche des valeurs différentes dans le terminal mac et le terminal intellij

J'ai essayé d'augmenter la limite maximale de fichiers ouverts dans mac en exécutant la commande suivante

sudo launchctl limit maxfiles 524288 10485760

Lorsque j'essaie de lancer ulimit -n il montre 524288

Mais en exécutant la même commande dans le terminal d'IntelliJ idea, le message suivant apparaît 10240

  1. J'ai essayé de réinstaller l'idée d'IntelliJ
  2. J'ai essayé de redémarrer IntelliJ après avoir invalidé le cache et redémarré
  3. J'ai redémarré le système plusieurs fois.

Veuillez m'indiquer comment résoudre ce problème.

11voto

Shylajhaa Points 181

Le problème est dû au fait qu'IntelliJ est un programme Java soumis aux contraintes de la machine virtuelle Java, qui, par défaut sur MacOS, est configurée pour limiter le nombre de fichiers ouverts à 10240 - quel que soit le paramètre utilisé ailleurs dans le système d'exploitation.

La solution est la suivante :

  1. Añadir -XX:-MaxFDLimit dans IntelliJ Idea (Aide->Éditer les options VM personnalisées)
  2. Invalider le cache et redémarrer IntelliJ

Cela supprime la limite arbitraire de 10240 sur la machine virtuelle Java, et fait en sorte qu'IntelliJ ne soit limité que par la limite générale des fichiers ouverts de MacOS - comme n'importe quel autre programme.

0voto

Oskar Points 1242

La plupart des processus commenceraient à fermer des fichiers bien avant d'atteindre 10 000 fichiers ouverts. D'après mon expérience, les boucles peuvent s'enfuir plus vite que vous ne réglez une limite de fichiers ouverts.

Aucune des mesures que vous avez essayées ne sera utile ou ne devrait être utile si le L'IDE fixe ses propres limites au lieu de s'appuyer uniquement sur les limites du système. .

Si vous souhaitez effectuer des traitements lourds en arrière-plan sur votre Mac, vous devriez envisager d'activer le mode Performance de MacOS : https://support.apple.com/en-us/HT202528

L'activation du mode Performance de MacOS modifie un certain nombre de paramètres du système (également réglables avec la fonction sysctl ) pour lever les limites et optimiser le système pour une utilisation intensive plutôt que pour une utilisation normale.

Vous pouvez également considérer qu'il est plus rapide de virtualiser un autre système Unix ou Windows que d'adapter MacOS à vos besoins.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X