我即将将应用程序部署到实时服务器,现在我正处于为jvm设置堆和permgen大小的部分.我看过很多文章,所有人都说“将最小堆大小设置为(某个数字)”,并“将最大堆大小设置为(某个数字)”,但这些文章都没有说明为什么需要设置最小堆大小.我理解设置最大堆大小的原因,但不是最小堆大小.如果你对此有所了解,我将感激不尽.

解决方法

Java中的堆是一般的内存分配区域.我们假设我们将最小堆大小设置为1000字节(这是一个荒谬的低数字).现在让我说我在我的程序中实例化一个包含一些长度为两千个字符的文本的对象.如果不先扩展堆大小,我无法保存此对象.现在,大概我的最大堆参数足够大以允许这个 – 但这是设置最大堆大小的原因.

但是,假设我的服务器有4G ram,我将最小堆大小设置为. (一个荒谬的大数字.)如果没有其他程序占用任何内存,这将工作.但是,如果我使用我的java程序启动第二个进程,它将无法分配足够的内存并退出.

最小尺寸为您做两件事;首先,它使内存快速可用,以便快速启动.其次,它可以让你调整你的jvm,以便你有一些不变量,允许你预测你可以运行多少个进程.如果您的最小堆大小太大,那么您可能会在一个从不需要那么多的进程上浪费内存,从而限制了系统的容量.如果将其设置得太小,程序将需要很长时间才能启动,从而对流程的性能产生负面影响.

我真的需要定义java最小堆大小的更多相关文章

  1. Java数据结构之最小堆和最大堆的原理及实现详解

    在计算机科学中,堆(heap) 的实现是一种基于树的特殊的数据结构,它可以在数组上构建出树的结构体,并满足堆的属性。本文就来和大家详细聊聊Java数据结构中的堆,感兴趣的可以了解一下

  2. Windows上每个Java进程的最大内存量?

    对于使用-Xmx的Java进程,可以在32位Windows上分配的最大堆大小是多少?我问,因为我想在OpenMap中使用etoPO1数据,原始二进制浮点文件大约是910MB。没有什么比回答你的问题的经验实验更好的了。我编写了一个Java程序并在指定XMX标志的同时运行它。为了进一步防止JVM优化,我主动分配X个10MB对象。

  3. Java的RAM使用率与任务管理器所说的不对应

    我通过制作1024^3长度的字节数组来玩Java的JVM.我在使用任务管理器和这个小片段之前,在数组创建之后和数组被垃圾收集器销毁之后测量了RAM的使用情况:上述代码分别显示2Mb,1029Mb和2Mb.–>这一切似乎都很正常.但是,在查看TaskManager时,Java的RAM使用率最初为2mb,然后转到1052Mb并保持不变,即使该代码段显示为2Mb.由于我希望Java使用最少的资源,我该如何解决这个问题?

  4. 如何从Java程序中获取JVM的最小和最大堆大小设置

    解决方法最大堆大小:您可能会感兴趣的其他一些计算:

  5. java – 为什么我能够在Windows和Solaris上将-Xmx设置为大于物理和虚拟内存的值?

    在具有12GBRAM和33GB虚拟内存的64位Windows机器上,我能够以不可能的-Xmx设置3.5TB运行Java但是它失败了35TB.当它工作和失败时,背后的逻辑是什么?35TB的错误似乎意味着它试图在启动时保留空间.为什么它会为-Xmx执行此操作?

  6. 【数据结构】堆

    移除堆顶元素后,用堆的最后一个结点填补堆顶元素,并将元素个数减一,在对堆进行自上而下的调整。在一堆数据中找最大的前K个:先将前K个数据按照小堆进行创建,在依次遍历要查找的数据,如果该数据大于堆顶元素,则用它替换堆顶元素,并将堆调整,这样最终就可以得到最大的K个元素。

  7. 我真的需要定义java最小堆大小

    我即将将应用程序部署到实时服务器,现在我正处于为jvm设置堆和permgen大小的部分.我看过很多文章,所有人都说“将最小堆大小设置为(某个数字)”,并“将最大堆大小设置为(某个数字)”,但这些文章都没有说明为什么需要设置最小堆大小.我理解设置最大堆大小的原因,但不是最小堆大小.如果你对此有所了解,我将感激不尽.解决方法Java中的堆是一般的内存分配区域.我们假设我们将最小堆大小设置为1000字节

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部