jdk的server模式修改无效(关于client和server模式)
本机为64位操作系统,64位jdk,win10。
修改C:\Program Files\Java\jre8\lib\amd64\jvm.cfg无效。
我的文件的内容为:

原因参考如下:
http://bluethinking.iteye.com/blog/2166857
http://ryxxlong.iteye.com/blog/1696537
两种模式下的堆大小:
http://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/parallel.html#sthref32
自己的渣渣水平翻译下:
Default Heap Size
Unless the initial and maximum heap sizes are specified on the command line, they are calculated based on the amount of memory on the machine.
默认堆大小是基于机器的内存,除非最小堆内存和最大堆内存容量在命令行被显式指定。
Client JVM Default Initial and Maximum Heap Sizes
The default maximum heap size is half of the physical memory up to a physical memory size of 192 megabytes (MB) and otherwise one fourth of the physical memory up to a physical memory size of 1 gigabyte (GB).
默认的最大堆内存大小是物理内存(最多达192M)的一半;如果内存大于或等于1GB,则取其1/4.
For example, if your computer has 128 MB of physical memory, then the maximum heap size is 64 MB, and greater than or equal to 1 GB of physical memory results in a maximum heap size of 256 MB.
举例,如果你的电脑有128M物理内存,那么最大堆大小是64M;如果物理内存大于等于1G,则最大堆大小是256M.
The maximum heap size is not actually used by the JVM unless your program creates enough objects to require it. A much smaller amount, called the initial heap size, is allocated during JVM initialization. This amount is at least 8 MB and otherwise 1/64th of physical memory up to a physical memory size of 1 GB.
最大堆大小不会被JVM实际使用,除非你的程序创建了足够多的对象去获取对应大小的内存。在JVM初始化时,最小堆内存容量的内存被分配。这个容量最小为8M,或者物理内存(最大1G)的64分之1。
The maximum amount of space allocated to the young generation is one third of the total heap size.
分配给新生代的最大容量为总堆内存的三分之一。
Server JVM Default Initial and Maximum Heap Sizes
The default initial and maximum heap sizes work similarly on the server JVM as it does on the client JVM, except that the default values can go higher. On 32-bit JVMs, the default maximum heap size can be up to 1 GB if there is 4 GB or more of physical memory. On 64-bit JVMs, the default maximum heap size can be up to 32 GB if there is 128 GB or more of physical memory. You can always set a higher or lower initial and maximum heap by specifying those values directly; see the next section.
默认的最小堆内存和最大堆内存容量在server模式的JVM和在client模式下类似,除了默认值更高。在32位的JVM上,如果机器有4GB以上的物理内存,默认的最大堆内存容量能够最大达到1GB。
在64位的JVM上,默认的最大堆大小能够达到32GB,如果有128GB以上的内存的话。
根据以上翻译,server模式下,如果电脑内存大于1GB,那么最大堆内存大小为机器内存的四分之1.
我本机验证了下,16GB内存大小,通过加-XX:+PrintFlagsFinal可以看到MaxHeapSize的值就是4G左右:

以下的语句也能证明这一点:

执行结果如下:max为3621M,和4G差得不算多。

那么,再验证一下最小堆大小容量:

268435456/(1024*1024) = 256M。
如果按照上面译文的算法,我本机16G内存的64分之一,为16G / 64 = 16 * 1024 / 64 M = 256M.
jdk的server模式修改无效(关于client和server模式)的更多相关文章
- Win Server 2008 RD案例:Client通过Server的浏览器上网
		
一.简介 RD是Windows Server远程桌面服务,可以实现从客户端运行服务器上的软件.首先在Server安装软件,设置能远程访问的应用和账号,并且创建.rdp快捷方式文件,然后Client打开 ...
 - jvm的运行模式 client和 server两种
		
jvm的运行模式 client和 server两种 学习了:https://www.cnblogs.com/fsjohnhuang/p/4270505.html 在jdk 9的情况下,好像没有clie ...
 - Ubuntu Server忘记密码后,单用户模式修改密码进去不了桌面的无奈
		
俗话说的好,好记性不如烂笔头.有时候脑子一热,就想不起来之前设置过的密码是什么了.我可怜地忘了我的Ubuntu Server的密码,回忆了n种组合都不行,于是只能进行单用户模式的修改密码了. 以下的操 ...
 - ESP8266 station模式下建立client、server TCP连接
		
程序实现内容: 1.在station模式下,ESP8266作为client.server进行TCP连接2.实现数据的发送.接收(同时回传)实现思路:TCP网络通信分层为:应用层.网络层.数据链路层.物 ...
 - 分布式数据库数据从属与client与server的数据同步
		
老实说,眼下市面上很多产品,的确是不成熟的产品. 用过一些,给人蛋痛的感觉. 导言 分布还是集总 今天我们来探讨一个非常重要的问题. 每一个程序猿都有其思想,我的思想之中的一个,就是分布式. 分布式, ...
 - 转 一篇关于sql server 三种恢复模式的文章,从sql server 的机制上来写的,感觉很不错,转了
		
简介 SQL Server中的事务日志无疑是SQL Server中最重要的部分之一.因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback).从而还部分确 ...
 - jvm的client和server
		
最近研究c++代码调用java的jar,发现64位的下的jvm在server路径,而32位的jvm则存在client路径下面,于是十分好奇,查了下,这里做个记录 JVM Server模式与client ...
 - 第五节:SignalR大杂烩(与MVC融合、全局的几个配置、跨域的应用、C/S程序充当Client和Server)
		
一. 说在前面的话 本节主要在前面章节的基础上补充了几个简单的知识点,比如:第三方调用通过 GlobalHost.ConnectionManager.GetHubContext<MySpecHu ...
 - 带入gRPC:gRPC Streaming, Client and Server
		
带入gRPC:gRPC Streaming, Client and Server 原文地址:带入gRPC:gRPC Streaming, Client and Server 前言 本章节将介绍 gRP ...
 
随机推荐
- 我的linux学习之路——(一)
			
prompt:命令提示符 命令: command options...... arguments...... 选项: 短选项 长选项 带参数的选项 参数: list----ls 列出,列表 列出制定路 ...
 - Linux档案权限与目录配置
			
一.档案权限: Linux 最优秀的地方之一,就在于他的多人多任务环境.而为了让各个使用者具有较保密的档案数据,因此档案的权限管理就变的很重要了. Linux 一般将档案可存取的身份分为三个类别,分别 ...
 - Spring Clould负载均衡重要组件:Ribbon中重要类的用法
			
Ribbon是Spring Cloud Netflix全家桶中负责负载均衡的组件,它是一组类库的集合.通过Ribbon,程序员能在不涉及到具体实现细节的基础上"透明"地用到负载均衡 ...
 - Day2------字符编码
			
复习: 系统启动流程:bios------->找到启动介质---------->把系统加载到内存------------>CPU执行 字符编码 一.字符串------------&g ...
 - python处理点云数据并生成三维点云模型
			
1.python代码: 1 import numpy as np 2 import matplotlib.pyplot as plt 3 from mpl_toolkits.mplot3d impor ...
 - [poj3687]Labeling Balls_拓扑排序
			
Labeling Balls poj-3687 题目大意:给出一些球之间的大小关系,求在满足这样的关系下,编号小的尽量比编号大的球的方案. 注释:1<=N(球的个数)<=200,1< ...
 - 解决数据库mysql插入乱码问题
			
当我们遇到mysql乱码问题的时候,一般要修改my.ini文件: 我遇到的是两个版本,一个是mysql5.5版本,另一个是mysql5.7 5.5的是在这个目录下面:C:\Program Files\ ...
 - java错题集
			
解析:java中,JavaDoc注释以 /** 开头(中间写内容)以*/结尾 解析:A对象是类的实例,不是集合,其余正确 解析:创建一个对象的语法为: 类名 对象名=new 类名();,因此正确答案为 ...
 - 数据库(Oracle)运维工作内容及常用脚本命令
			
1.系统资源状况:--内存及CPU资源 --linux,solaris,aix vmstat 5 --说明: 1)观察空闲内存的数量多少,以及空闲内存量是否稳定,如果不稳定就得想办法来 ...
 - Python打包工具setuptools的使用
			
将我们写的Python程序发布成包后,可以使其能够安装使用. 在项目上测试的时候,某些情况下,可以将Python打包,然后上传到测试服务器,安装测试. setuptools是常用的打包工具. 一个简单 ...