文档章节

JVM各种问题

算法之名
 算法之名
发布于 06/24 13:44
字数 598
阅读 106
收藏 0

1、如果启动什么都不设,会怎样?

先来看一个命令

[root@localhost bin]#  java -XX:+PrintCommandLineFlags -version
-XX:InitialHeapSize=29899008 -XX:MaxHeapSize=478384128 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

一般来说,什么都不设,应用程序的初始内存会很大,垃圾回收器使用的是ParallelGC,这个在新生代是没什么问题的,但问题时老年代,老年代用的是串行回收器,这对于多核CPU来说是一个巨大的浪费,建议配置:-Xmx256M -Xms64M(这两项根据实际情况定,建议设为相等) -XX:+UseParallelOldGC -XX:ParallelGCThreads=8(具体根据你的CPU核数设定) -XX:PermSize=32M(根据你的应用程序产生的类的数量决定)

2、一个网站的最大并发量和吞吐量

首先吞吐量并不等于并发量,吞吐量是 每秒钟request/事务 数量 ,并发量是 系统同时处理的request/事务数

吞吐量 = 并发量/响应时间。

有时候有很大的吞吐量的时候未必能构成并发,因为有时间间隔,要达到并发需要访问量足够大,几乎同时到达。

最大吞吐量是有极限的,跟单台服务器的配置以及JVM的设参有关系,因为GC回收垃圾需要时间,系统不响应你也没办法。

最大并发量其实跟系统有关,是一个计算机术语,哪怕是1秒内,相差毫秒级也不会构成并发,构成并发其实是同时,这个值跟计算机的线程数有关系,而线程数又跟计算机的核数有关系,这个值也不是越大越好,因为线程切换需要时间,线程多了反而会拖慢系统。

这里面有些是个人见解,如果有不对,欢迎大家指出,谢谢!

3、压测最大吞吐量的方法

Jmeter压测,设置线程参数,Http请求参数以及混合报表。

具体这个Throughput值就是我们要的吞吐量的极限值。再乘以一天的秒数就是日最大吞吐量。

 

© 著作权归作者所有

共有 人打赏支持
算法之名
粉丝 13
博文 107
码字总数 103286
作品 0
广州
私信 提问
PHP-Java-Bridge使用笔记,2014年9月最新版

/============================================================ @author ken(695093513@qq.com) @date 2014-09-09 * ==============================================================/ /=......

卖小女孩的小火柴
2014/09/19
0
10
JAVA开发者应该去的20个英文网站

JAVA开发者应该去的20个英文网站 2005-09-12 14:28 shiqiang124 CSDN 我要评论(0) 字号:T | T 为JAVA开发者推荐应该去的20个英文网站! AD: WOT2014课程推荐:实战MSA:用开源软件搭建微服...

对岸
2014/05/26
0
0
ubuntu安装maven仓库nexus

  简述一下在ubuntu下面安装nexus的步骤(这里默认已经安装好了JDK,JDK的安装可以参考的我另一篇文章ubuntu安装和卸载jdk): 1. 下载nexus 下载最新版nexus(到目前为止最新版为nexus-2...

飓风2000
2015/01/21
0
0
linux下的jdk环境变量配置

新安装的ubuntu不能以root用户登录,可以这样做 sudo passwd root //然后设置密码 su //输入密码登录 ubuntu 新建简单文本 touch hello.sh //新建文件 hello.sh vim hello.sh // 打开hello文...

苏云飞
2015/11/18
0
0
【转】甲骨文和IBM将共同开发Java技术

http://www.sina.com.cn 2010年10月12日 09:47 新浪科技 新浪科技讯 北京时间10月12日早间消息,据国外媒体报道,IBM周一宣布,将把与Java开发有关的工作从Apache Harmony项目转向OpenJDK,这...

晨曦之光
2012/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Win10:默认的图片打开应用,打开图片时速度明显很慢的解决办法

首先,我们随便地打开一张图片。然后,点击右上角的三个小点,最后点击弹出菜单最下面的“设置”。如下图: 在“设置”中找到下面的“人物”,把它关掉就好了。 原来,默认情况下,Win 10的图...

LivingInFHL
41分钟前
2
0
js代码激发onchange事件,兼容谷歌火狐IE

var el = document.getElementsByName('role')[0]; el.value = '3'; var evt = document.createEvent("HTMLEvents"); evt.initEvent("change", false, true); el.dispatchEvent(evt);......

我退而结网
55分钟前
3
0
mysql客户端报错:libmysqlclient_16 not defined in file libmysqlclient.so.16

报错情况: 安装完mydumper之后(上一篇文章),登陆Mysql客户端报错:version libmysqlclient_16 not defined in file libmysqlclient.so.16 with link time reference 同样:mysql的其他客...

machogyb
今天
1
0
MySQL 数据库中间件 安装部署测试全过程

1、环境准备 1.1、操作系统环境 [root@MyCat conf]# uname -aLinux MyCat 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux 1.2、关闭SELIN......

PeakFang-BOK
今天
6
0
Linux Mysql 安装

https://www.cnblogs.com/xinjing-jingxin/p/8025805.html

流氓兔-
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部