文档章节

JVM各种问题

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

 

© 著作权归作者所有

共有 人打赏支持
算法之名
粉丝 6
博文 65
码字总数 34182
作品 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
为什么.NET平台在技术上远强过Java,而多数大公司却仍采用后者?

  这个问题比较大,但重要的一点是市场的选择。.net开发入门是比较简单的,但技术要深入还就不简单了。从技术上来说,.net与Java没有高下或贵贱之分。那为什么市场上这么多选择了Java,而不...

小庆财经
04/16
0
0
Linux ---> 监控JVM工具

JDK内置工具使用 jps(Java Virtual Machine Process Status Tool) 查看所有的jvm进程,包括进程ID,进程启动的路径等等。 jstack(Java Stack Trace) ① 观察jvm中当前所有线程的运行情况和线...

shking
2013/10/10
0
0
资深架构师谈Java——最牛逼的编程语言

有些人问我,在现有的语言里面,有什么好的推荐?我说:“Java。” 他们很惊讶:“什么?Java!” 所以我现在来解释一下。 Java超越了所有咒骂它的“动态语言” 也许是因为年轻人的逆反心理,...

美的让人心动
04/18
0
0
面试中关于Java虚拟机(jvm)的问题看这篇就够了

最近看书的过程中整理了一些面试题,面试题以及答案都在我的文章中有所提到,希望你能在以问题为导向的过程中掌握虚拟机的核心知识。面试毕竟是面试,核心知识我们还是要掌握的,加油~~~ 下面...

snailclimb
05/12
0
0
Freebsd8.4 安装jdk心得分享

最近在搞Freebsd,首先熟悉了下系统的安装配置,这里就不在多说了。接下来尝试装个java运行环境,遇到各种问题呀 在网上找了许多资料找了各种配置文件,由于我本机装的是freebsd 8.4-RELEASE...

zhangdiandong
2013/09/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

第三章 spring-bean之beanFactory系列(1)

前言 spring的基本问题,每次面试基本会问题。比如 - spring是什么回答是ioc,aop,第三个就是beanfactory。 - spring使用什么模式,100%的人回答是工厂模式。 - 这面的问题大家都知道。关于...

鸟菜啊
3分钟前
0
0
箭头函数

var foo = v => v; // 等同于 var foo = function (v) { return v; }

litCabbage
5分钟前
0
0
软件入门的知识之程序设计语言Java和C#的简单介绍和对比[图]

软件入门的知识之程序设计语言Java和C#的简单介绍和对比[图]: 前言: 要做软件就必然会涉及到程序设计语言,它是什么?有哪些特点?又有哪几部分组成的呢?在这里我们为大家做了一个总结,希...

原创小博客
5分钟前
0
0
重写视频播放进度条

需要注意的地方,基于html vedio 标准使用期去了解一下 1.想去掉视频默认的播放条,去掉controls属性。 2.需要预加载视频加上preload="auto"属性。 1.js代码 $(function(){ init(); }); var ...

轻量级赤影
13分钟前
0
0
saltstack管理任务计划-添加&删除

1.服务端配置 >>编辑 top.sls 文件 # vim /srv/salt/top.sls //修改为如下 base: '192.168.*.*': - crontest >>编辑crontest.sls文件添加计划任务 cron-test: cron.present: - name: /bin/to......

硅谷课堂
14分钟前
0
0
sql中多表查询及其左连字段

SELECT s.*,t.teach_name FROM `stu` s, `teacher` t WHERE s.teacher_id = t.row_id AND s.teacher_id = 1 s.* s表中 全部字段 t.teach_name t表中teach_name 字段 SELECT s.*,t.teach_nam......

森火
16分钟前
0
0
ES9-mapping参数

1.概述 ElasticSearch提供了丰富的参数对文档字段进行定义,比如字段的分词器、字段权重、日期格式、检索模型等等。可以查看官网每个参数的定义及使用:https://www.elastic.co/guide/en/ela...

贾峰uk
19分钟前
1
0
Java泛型学习

一、泛型的概念 List list = new ArrayList(); list.add("corn"); String name = (String) list.get(0); 1、这里将一个对象放入集合中,集合不会记住次对象的类型,当再次从集合中取出此对象...

cjxcloud
21分钟前
0
0
android屏幕适配

android屏幕适配 今日头条的适配方式:https://mp.weixin.qq.com/s/d9QCoBP6kV9VSWvVldVVwA 采用的是鸿阳的适配方式,项目依赖: compile 'com.zhy:autolayout:1.4.5' 使用步骤: 在manif...

android-key
26分钟前
0
0
istio 0.8 安装步骤

============================ istio 0.8 安装步骤--------------------------------------- istio 0.8 安装步骤 1.安装k8s环境 参考:http://sealyun.com/pro/products/ master,salve两台机......

xiaomin0322
28分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部