2 votes

Le serveur Python avec le carnet Jupyter manque de mémoire

Je suis assez novice dans l'utilisation des serveurs, mais j'ai récemment rencontré un goulot d'étranglement et j'ai dû effectuer mes calculs sur le nuage. Après deux semaines d'utilisation du serveur, il semble y avoir des problèmes de mémoire.

J'utilise le serveur pour les carnets Jupyter et le stockage de gros fichiers. Je charge des fichiers volumineux dans mes carnets Jupyter, et mes fichiers se sont chargés sans problème pendant les deux premières semaines. Cependant, aujourd'hui, j'ai rencontré problème de mémoire après problème de mémoire. Et c'est si grave que même après avoir fermé tous les notebooks actifs et lancé mes premiers notebooks, aucun d'entre eux n'a fonctionné à cause des problèmes de mémoire.

En utilisant la commande TOP, il est indiqué que j'ai environ 90% de la mémoire disponible. Cependant, il ne me permet pas d'exécuter le code que j'ai utilisé sans problème au cours des deux dernières semaines.

Je me demande donc si je dois redémarrer le serveur régulièrement ou autre chose pour résoudre ce problème. Ou s'il s'agit de quelque chose d'autre.

Merci !

1voto

Michael L Points 96

Si vous chargez un fichier dans un bloc-notes Jupyter et que vous stockez son contenu dans une variable, le processus Python sous-jacent conservera la mémoire pour ces données tant que la variable existe et que le bloc-notes fonctionne. Le ramasseur de déchets de Python libérera à nouveau la mémoire (dans la plupart des cas) s'il détecte que les données ne sont plus nécessaires. C'est le cas si elle est supprimée, par exemple en utilisant la fonction del si la variable est écrasée par quelque chose d'autre ou si elle sort de sa portée (une variable locale à la fin d'une fonction).

Si vous stockez des fichiers volumineux dans des variables (différentes) pendant des semaines, les données resteront en mémoire et finiront par la remplir. Dans ce cas, vous devrez peut-être fermer l'ordinateur portable manuellement ou utiliser une autre méthode pour supprimer les variables (globales).

Une raison complètement différente pour le même type de problème pourrait être un bug dans Jupyter. Ce type de bogue est appelé fuite de mémoire et se produit souvent dans les processus de serveur fonctionnant pendant une longue période. Même s'il est moins probable qu'ils se produisent en Python, il existe des problèmes de fuite de mémoire. un peu de error rapports pour Jupyter. Dans ce cas, la seule solution consiste à redémarrer le processus Jupyter. Dans les autres cas, je vous recommande de le faire.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X