• [^] # Re: containers

    Posté par . En réponse au journal Gestion des erreurs d’allocation mémoire en C. Évalué à 2.

    On pourrait souhaiter qu'un programme dont on a volontairement limité les ressources ne segfault pas parce qu'il n'a plus de mémoire mais soit en mesure de gérer ça de proprement. En attendant que de nouvelles ressources soient disponibles par exemple.

    Donc « terminer correctement » pour qu'on puisse le relancer « plus tard » quand il y aura plus de ressources ? Quelle différence avec faire que malloc() renvoie toujours un pointeur valide et que le kernel se débrouille pour toujours avoir de la mémoire disponible, quitte à swapper, etc ? Tu viens juste de remonter le problème plus haut, sur l'administrateur ou un autre composant de l'OS que ton kernel, sans le régler. Tu n'évoques pas de solution en tant que telle à ce problème, tu l'as juste déplacé, et ça ne fonctionne pas mieux car il n'existe pas de solution idéale encore aujourd'hui.

    C'est pourquoi en général je trouve que ce genre de « gestion » des ressources est complètement inutile, et que le cloisonnement par VM ou container amène en général plus de problèmes qu'il n'en résout, en faisant croire qu'ils « gèrent » mieux les ressources (en fait, ils partitionnement plus durement, et globalement le multiplexage statistique ne peut pas avoir lieu). Bref, c'est nul.