当前位置: 首页 > news >正文

(转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m

在linux环境下配置项目运行环境时,部署的人员都会分配一下内存,以保证程序正常的运行。其实在开发的时候(window系统),就已经涉及到内存分配了,只是这些参数有默认值,因此一直没有去重视它。
以Myeclipse为例,在Preferences->Java->Installed JREs下面,就有设置jvm内存分配。

这里我们就可以配置内存,一般我们见到的都是

-Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m

linux中一般为:

-vmargs -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m

但是这一串究竟是什么意思,这里就给大家讲解一下。
按照官方的说法:Java 虚拟机具有一个堆(Heap),堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的,在JVM中堆之外的内存称为非堆内存(Non-heap memory)。

简单的说就是:堆是java代码可及的内存,开发人员写的东西都是堆分配的内存(底层实现除外)。而非堆内存则是JVM自己用的,比如JVM内部处理或优化,垃圾处理,常数池等。

堆的内存分配用-Xms和-Xmx

-Xms分配堆最小内存,默认为物理内存的1/64;-Xmx分配最大内存,默认为物理内存的1/4。
非堆内存分配用-XX:PermSize和-XX:MaxPermSize

-XX:PermSize分配非堆最小内存,默认为物理内存的1/64;-XX:MaxPermSize分配最大内存,默认为物理内存的1/4。
因此,合理的内存分配是程序正常稳定的运行的基础。不然内存溢出可就麻烦了。

相关文章:

  • Python标准库05 存储对象 (pickle包,cPickle包)(转载)
  • 软件工程-冲刺周
  • freemarker中常用的shiro标签
  • 企业该分多少钱给员工?看柏明顿阿米巴奖金分配方案
  • Ubuntu下部署java JDK和eclipse IDE
  • Docker镜像的目录存储讲解
  • SpringBoot中Mybaties PageHelper插件使用
  • Pop - Facebook 开源 iOS OS X 动画库
  • 一个程序员的自白(延迟满足)
  • Apache ab 压力测试
  • 依赖注入框架 InversifyJS
  • 10.30T2 二分+前缀和(后缀和)
  • 数据流的压缩、编码及传递困扰
  • Linux基础命令---mkisofs
  • Linux iptables开放特定端口
  • 3.7、@ResponseBody 和 @RestController
  • Bootstrap JS插件Alert源码分析
  • Django 博客开发教程 8 - 博客文章详情页
  • hadoop集群管理系统搭建规划说明
  • iOS小技巧之UIImagePickerController实现头像选择
  • MySQL数据库运维之数据恢复
  • Python_网络编程
  • python3 使用 asyncio 代替线程
  • spring cloud gateway 源码解析(4)跨域问题处理
  • TCP拥塞控制
  • Vue.js源码(2):初探List Rendering
  • Vue全家桶实现一个Web App
  • 批量截取pdf文件
  • 悄悄地说一个bug
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 小程序开发之路(一)
  • 译米田引理
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 仓管云——企业云erp功能有哪些?
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • $GOPATH/go.mod exists but should not goland
  • (06)金属布线——为半导体注入生命的连接
  • (安卓)跳转应用市场APP详情页的方式
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (转)visual stdio 书签功能介绍
  • (转)拼包函数及网络封包的异常处理(含代码)
  • **CI中自动类加载的用法总结
  • .Net CF下精确的计时器
  • .Net Remoting常用部署结构
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .Net接口调试与案例
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .net专家(张羿专栏)
  • @Autowired注解的实现原理
  • @media screen 针对不同移动设备
  • @synthesize和@dynamic分别有什么作用?
  • @TableLogic注解说明,以及对增删改查的影响
  • @软考考生,这份软考高分攻略你须知道