J'arrive, j'arrive...
La reponse est oui et non
bien sur
.
Si tu confies exactement la meme charge a ta machine, alors non le fait d'avoir une machine multi core ne changera en rien ta memoire consommee (ou si peu, vu que quelques modules du kernel seront un peu plus gros, mais rien de sensible).
En revanche si tu as une appli qui detecte que tu as un multi core et se configure de maniere differente pour l'exploiter, alors oui tu as de bonnes chances de consommer plus de memoire.
Par exemple dans un modele de parallelisation producer-consummer, tu te retrouves avec des buffers non negligeables entre les 2 qui etaient generalement tres petits dans une version destinee a un simple CPU (c'est un choix d'optimization judicieux, cela ne signifie pas que ce sera le cas systematiquement). Dans le cas d'un modele producer consummer les buffers sont employes pour pipeliner les taches, ici la taille du buffer est dependant de la latence d'une tache et de son debit et on augmente les 2 dans ce type de modele donc l'augmentation de la taille des buffer est ~= augmentation du debit x augmentation de la latence d'une tache.
Dans un modele de data parallelisme on peut partitionner les donnees existantes entre 2 CPUs ou choisir de traiter 2x plus de donnees en simultane (ou si on a optimise l'appli un facteur compris entre 1 et 2).
Bref, il est probable que ta JVM se rende compte que tu as 2 cpus et essaye d'en tirer partie, et donc alloue plus de buffers.
L'augmentation de la taille du code en memoire due a la multiplication des threads est generalement peu visible face a la taille des donnees (ca depend des applis), mais c'est effectivement une autre source d'augmentation.