Erreur «Espace disque insuffisant» lors de l'exécution d'un script python depuis la mise à niveau vers OSX Mojave

0

J'ai un problème avec un script python qui est tué en raison de ce que je crois, de la mémoire disponible insuffisante, mais j'espère qu'il s'agit d'un bogue.

Description comme suit: J'ai un script python qui charge en mémoire 12 gros fichiers (1 à 1,5 Gb). La raison en est qu’il s’agit d’un fichier d’expérimentation et que j’effectue des analyses croisées. Je pouvais le faire sans problème sur ma machine actuelle avec OSX High Sierra. Mais depuis que je suis passé à Mojave, le script a échoué.

Le script échoue lors du chargement des fichiers. Un avertissement est émis (voir image) qui indique que mon espace disque est extrêmement bas. J'ai déjà pu exécuter le script avec moins de 50 Go d'espace disque disponible. J'ai maintenant effacé beaucoup de données et dispose actuellement de plus de 300 Go d'espace libre. Quelques secondes après l'émission de l'avertissement, le script est terminé.

Juste avant la fin, si je suis le processus de script dans Activity Monitor, la taille de la mémoire virtuelle est d'environ 140 Go, la mémoire utilisée de 13,61 Go, les fichiers en mémoire cache de 2,0 Go et le transfert utilisé de 11,43 Go. Dans le terminal, il n’ya pas de trace de pile, il est simplement écrit «tué: 9». Donc, je suppose que ce n’est pas un problème avec python mais avec le système d’exploitation.

Warning message prior termination

Je cours: MacBook Pro (Retina, 15 pouces, mi-2015) Intel Core i7 à 2,5 GHz 16 Go de RAM DDR3 à 1600 MHz

Python env est un env. Virtuel anaconda conda 4.5.11 Python 3.6.3

Étant donné que je n’obtiens aucune trace de pile et que le seul avertissement est celui de «l’espace disque extrêmement bas», je ne sais pas comment attaquer ce problème. Bien sûr, je peux réécrire le script et effectuer un chargement paresseux de données partielles selon les besoins, mais cela prendra beaucoup de temps et la racine de ce problème serait non résolue.

Aucune suggestion?

MODIFIER: Après une nuit dans mon sac à dos, il fonctionne maintenant. Aucune idée pourquoi.

JMDE
la source
1
Le problème est que cela fait beaucoup de VM. Oui, en théorie, c’est correct, mais le programme serait probablement beaucoup plus rapide à exécuter et utiliserait moins de mémoire s’il n’avait pas chargé toutes les données en même temps. Je voudrais demander quel est l'espace disque lorsque le crash se produit.
Mark
Je suis d'accord avec vous pour dire que le script aurait pu être conçu d'une meilleure façon. Mais (au début du temps où je l’ai écrit), il était prévu de l’utiliser une fois pour obtenir les résultats et d’en finir. J'ai donc échangé du temps en écrivant le script contre du temps pour l'exécuter. Anywhoo, j'ai suivi l'utilisation du disque et il est descendu à 298 Go restants sur le disque dur. Et voilà, maintenant ça coule ...? Je n'ai rien fait. Je l'ai essayé 10 fois hier, avec et sans redémarrage avant et toujours la même erreur. Maintenant, après une nuit de repos dans mon sac à dos, il fonctionne. Merci pour votre réponse quand même.
JMDE