文档章节

JVM各种问题

算法之名
 算法之名
发布于 06/24 13:44
字数 598
阅读 103
收藏 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值就是我们要的吞吐量的极限值。再乘以一天的秒数就是日最大吞吐量。

 

© 著作权归作者所有

共有 人打赏支持
算法之名
粉丝 12
博文 87
码字总数 49714
作品 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
linux下的jdk环境变量配置

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

苏云飞
2015/11/18
0
0
ubuntu安装maven仓库nexus

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

飓风2000
2015/01/21
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

没有更多内容

加载失败,请刷新页面

加载更多

Kafka技术资料总结(不断更新中)

1、Kafka实践:到底该不该把不同类型的消息放在同一个主题中 2、Kafka剖析系列: Kafka剖析(一):Kafka背景及架构介绍 Kafka设计解析(二):Kafka High Availability (上)...

九州暮云
37分钟前
1
0
面向对象设计原则(OOP)

单一职责原则(Single responsibility principle)又称单一功能原则。它规定一个类应该只有一个发生变化的原因。 核心原则:低耦合,高内聚。 一个类,应该只有一个引起它变化的原因,也就是...

gackey
今天
4
0
C++ 锁

C++提供了两种常用的锁,std::lock_guard<Lockable &T>和std::unique_lock<Lockable &T>。通常使用场景下,这两个锁用法一致。即,在构造锁对象时上锁,在析构锁对象时解锁。使用户从上锁/解...

yepanl
今天
4
0
Kali Linux Docker 練習

docker pull kalilinux/kali-linux-docker docker run -t -i kalilinux/kali-linux-docker /bin/bash apt-get update apt-get install htop apt-get install nmap apt-get install wpscan ap......

BaiyuanLab
今天
4
0
通俗大白话来理解TCP协议的三次握手和四次分手

最近在恶补计算机网络方面的知识,之前对于TCP的三次握手和四次分手也是模模糊糊,对于其中的细节更是浑然不知,最近看了很多这方面的知识,也在系统的学习计算机网络,加深自己的CS功底,就...

onedotdot
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部