Maison  >  Questions et réponses  >  le corps du texte

jvm - 关于java -Xms参数的疑问

通过java -X看到java -Xms的解释

-Xms<size> set initial Java heap size

但我测试发现,
虽然我的机器内存只有1G,但通过 java -Xms3G -Xmx3G appname可以成功启动应用,那么这个分配机制是怎么的呢?

就是指定了-Xms 3G,但机器内存只有1G的情况下,是怎样分配内存的?

注:

# free -m|grep Swap
Swap:            0          0          0
伊谢尔伦伊谢尔伦2715 Il y a quelques jours472

répondre à tous(2)je répondrai

  • 大家讲道理

    大家讲道理2017-04-18 10:23:06

    En raison du mécanisme de gestion de la mémoire du système d'exploitation, chaque processus se verra attribuer un espace d'adressage virtuel (correspondant au système 32 bits, il s'agit de l'4G espace d'adressage du processus virtuel Certaines des adresses mémoire présentes). l'espace d'adressage virtuel est mappé sur la mémoire physique réelle, lorsque la mémoire requise par un processus est supérieure à la mémoire physique réelle, certaines de ses adresses de mémoire virtuelle seront mappées sur le disque. En raison de l'existence de ce mécanisme, le processus. semble pouvoir utiliser plus que la mémoire physique réelle. Besoin de plus d'espace mémoire.

    Concernant votre question, la JVM nécessite 3 Go d'espace mémoire, mais la machine réelle n'en a que 1 Go. Par conséquent, le système d'exploitation stockera la mémoire temporairement inutilisée dans le processus JVM sur le disque (c'est-à-dire l'espace d'échange). doit en utiliser un autre Lorsqu'une partie de la mémoire est utilisée, les données du disque sont écrites dans la mémoire via un échange de mémoire. Par conséquent, si Memory Swap se produit fréquemment, le programme doit être très lent

    .

    répondre
    0
  • 迷茫

    迷茫2017-04-18 10:23:06

    Une mémoire virtuelle est également disponible.
    Cela ne fonctionnera pas si vous réduisez la mémoire virtuelle ou si vous la désactivez directement.

    répondre
    0
  • Annulerrépondre