J'ai construit un réseau neuronal qui analyse de grandes quantités de données (40G), et mon iMac arrête le processus après qu'il ait tourné pendant environ une journée.
Dans le passé, sous Linux, j'ai créé un grand fichier d'échange pour contourner les limitations de mémoire.
Je vois :
$ python processor.py
[... peut-être des messages de sortie standard, spécifiques à ce que je fais...]
Killed.
J'en suis venu à connaître cela comme le message "vous avez utilisé trop de mémoire, au revoir". Encore une fois, j'ai pu résoudre le problème en utilisant un grand fichier d'échange sous Linux. Comment puis-je augmenter la limite d'échange sur mon Mac afin que mes processus utilisant de grandes quantités de mémoire ne soient pas arrêtés ?
Je ne suis pas sûr de comment obtenir plus d'informations sur pourquoi il a été arrêté.
2 votes
Pouvez-vous éditer exactement les messages système qui sont enregistrés lorsque le processus est tué ? Quel est l'état de la mémoire à ce moment-là (peut-être 5 minutes avant et 5 minutes après la terminaison) ? Je suppose que vous avez un autre problème car l'échange peut et va croître pour occuper tout l'espace sur le volume de démarrage, mais habituellement c'est la faute du programme d'avoir autant de RAM échangée et jamais récupérée.
1 votes
Ajouté quelques modifications ci-dessus.
0 votes
Beauxedits. Puisque vous l'exécutez à partir d'un shell, considérez également de jeter un œil à
ulimit -a
. Je n'ai pas de cas test où je peux faire en sorte que le système s'étouffe sur 10.10.x. En outre, surveillez la pression de mémoire.