La génération échoue lorsque la limite de mémoire est dépassée

Une fois que vous avez créé et exécuté une génération, votre génération n'aboutit pas et vous recevez un message indiquant que la limite de mémoire a été dépassée.

Si vous recevez un message indiquant que la limite de mémoire a été dépassée, cela signifie que la taille de votre génération est trop petite.

Lorsqu'une génération s'exécute, elle exécute des étapes, qui incluent des compilations de code ou un conditionnement d'image de conteneur. Ces étapes requièrent de la mémoire. Selon que vous choisissez une taille small, medium, large, xlarge ou xxlarge pour votre génération, une quantité maximale de stockage éphémère est disponible pour une exécution de génération. Pour plus d'informations sur la taille de la génération, voir la rubrique permettant d'identifier la taille de la génération. Lorsque la mémoire maximale est atteinte, l'exécution de génération est arrêtée et un message d'erreur est envoyé. Par exemple :

Exemple de message d'erreur

Summary: Failed
Reason:  OOMKilled

Essayez l'une des solutions ci-après.

Que vous exécutiez votre génération depuis la console ou depuis l'interface de ligne de commande, utilisez l'interface de ligne de commande pour traiter les problèmes liés à votre génération.

  1. Exécutez la commande ibmcloud ce buildrun get --name BUILDRUN_NAME pour afficher les détails de votre exécution de génération.
  2. Consultez la section Reason dans la sortie de la commande.

Pour résoudre ce problème, utilisez une taille plus grande pour la génération.

Une taille de génération plus importante signifie également que davantage de coeurs de mémoire et d'UC sont affectés aux exécutions de génération. Accroître cette taille va probablement accélérer les exécutions de génération, et augmenter leur coût.

Pour plus d'informations sur les tailles de génération, voir Détermination des tailles de génération.

  1. Utilisez la commande ibmcloud ce build update pour mettre à jour la configuration de génération afin d'utiliser une taille plus grande. Par exemple :

    ibmcloud ce build update --name <BUILD_NAME> --size <SIZE>
    
  2. Utilisez la commande ibmcloud ce buildrun submit pour soumettre une nouvelle exécution de génération. Pour la commande buildrun submit, vous devez spécifier l'option --build pour fournir le nom de votre configuration de génération. Vous pouvez éventuellement spécifier l'option --name pour fournir le nom de cette exécution de génération. Si vous spécifiez l'option --name, veillez à utiliser un autre nom d'exécution de génération que celui de l'exécution de génération ayant échoué, ou à supprimer l'exécution de génération ayant échoué à l'aide de la commande ibmcloud ce buildrun delete. Par exemple :

    ibmcloud ce buildrun submit --build <BUILD_NAME> --name <BUILDRUN_NAME>