java - -xms 总和大于主机 RAM 的多个 JVM

标签 java

注意:我是 Java 新手(我是 Python 开发人员;JVM 的想法对我来说很陌生)

假设您有一台带有 8 核 160GB RAM 的服务器

如果您使用 -xms 100G 运行 Java 程序,它不会抛出任何错误。 如果使用 -xms -100G 运行两个或多个 Java 程序(多个 JVM)会怎样? 如果内存允许,在同一主机上运行多个 JVM 是否可以接受?

如有任何引用资料,我们将不胜感激!

最佳答案

没有(理智的)操作系统会给您实际内存来备份您的需求,听说过交换空间吗?对于 python 来说也是如此,内存管理没有什么不同,因为 python 仍然使用虚拟内存进行操作,对吗?

如果您确实希望通过物理内存备份虚拟机的内存,可以使用以下标志:-XX:+AlwaysPreTouch,但使用它会意味着您的虚拟机使用的所有内存都必须归零(“触及”),这意味着启动速度会较慢 - 对于如此大的内存量尤其如此。

-Xmx-Xms 实际上只是启动标志,告诉您想要的初始内存和想要的最大内存(通常它们具有相同的值) ),但这仍然是操作系统请求的虚拟内存

关于java - -xms 总和大于主机 RAM 的多个 JVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54296903/

相关文章:

java - 在appengine中使用ajax上传文件时出现问题

java gksudo 持久海拔

java - 标签位于其他标签的属性内

java - System.out.println() 输出其他东西

java - Android 异步点击时出错

java - 只显示小数点后两位数

java - 动态 xml 到 mongoDB

java - System.currentTimeMillis() 和夏令时

java - 删除 ArrayList 中的重复对象

java - 显示输入文件中的学生记录