java堆空间分为  新生代 ,老年代 , 持久代 各自有各自的垃圾回收算法

eden区:新生的对象存放在这经常被回收

from  、to  存活区

在老年代,回收的频率不是很高

jdk8 就没有持久代了 重名为元数据

默认jdk的内存空间太小需要优化

Tomcat的常用优化配置:

(1) 内存空间:

/etc/sysconfig/tomcat

JAVA_OPTS="-server -Xms32g -Xmx32g“

访问:tomcat主页  ---server  status

2) 线程池设置:

<Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000" redirectPort="8443" />

常用属性:

maxThreads:最大线程数;

minSpareThreads:最小空闲线程数;

maxSpareThreads:最大空闲线程数;

acceptCount:等待队列的最大长度;

URIEncoding:URI地址编码格式,建议使用UTF-8;

enableLookups:是否启用dns解析,建议禁用;

compression:是否启用传输压缩机制,建议“on";

compressionMinSize:启用压缩传输的数据流最小值,单位是字节;

compressableMimeType:定义启用压缩功能的MIME类型;

text/html, text/xml, text/css, text/javascript

(3) 禁用8005端口;

<Server port="-1" shutdown="SHUTDOWN">

4) 隐藏版本信息:

<Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000" redirectPort="8443" />

Server="SOME STRING"

Tomcat Session Server (memcached)

https://github.com/magro/memcached-session-manager

支持的session server类型:

java自身提供的一些工具

JVM常用的分析工具:

jps:用来查看运行的所有jvm进程;

jinfo:查看进程的运行环境参数,主要是jvm命令行参数;

jstat:对jvm应用程序的资源和性能进行实时监控;

jstack:查看所有线程的运行状态;

jmap:查看

jps [-q] [-mlvV] [<hostid>]

-q:静默模式;

-v:显示传递给jvm的命令行参数;

-m:输出传入main方法的参数;

-l:输出main类或jar完全限定名称;

-V:显示通过flag文件传递给jvm的参数;

[<hostid>]:主机id,默认为localhost;

jinfo:输出给定的java进程的所有配置信息;

jinfo [option] <pid>

-flags:to print VM flags

-sysprops:to print Java system properties

-flag <name>:to print the value of the named VM flag

jstack:查看指定的java进程的线程栈的相关信息;

jstack [-l] <pid>

jstack -F [-m] [-l] <pid>

-l:long listings,会显示额外的锁信息,因此发生死锁时常用此选项;

-m:混合模式,既输出java堆栈信息,也输出C/C++堆栈信息;

-F:当使用“jstack -l PID"无响应,可以使用-F强制输出信息;

jstat:输出

指定的java进程的统计信息

jstat -help|-options

jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

jstat -options

-class:class loader

-compiler:JIT

-gc:gc

-gccapacity:统计堆中各代的容量

-gccause:

-gcmetacapacity

-gcnew:新生代

-gcnewcapacity

-gcold:老年代

-gcoldcapacity

-gcutil

-printcompilation

[<interval> [<count>]]

interval:时间间隔,单位是毫秒;

count:显示的次数;

jstat  -gc   2169          查看jav内存状态

-gc:

YGC:新生代的垃圾回收次数;

YGCT:新生代垃圾回收消耗的时长;

FGC:Full GC的次数;

FGCT:Full GC消耗的时长;

GCT:GC消耗的总时长;

jvisualvm   和jconsole   两个图像界面

#jconsole    -h

tomcat优化,java查看的更多相关文章

  1. Tomcat 优化 java.lang.OutOfMemoryError: Java heap space 的解决方法

    Tomcat 优化 java.lang.OutOfMemoryError: Java heap space 的解决方法 java.lang.OutOfMemoryError: Java heap sp ...

  2. 查看Linux、Tomcat、JAVA版本信息

    查看Linux.Tomcat.JAVA版本信息 [root@test1 bin]# cd /usr/local/tomcat/tomcat_jdt/bin/ [root@test1 bin]# sh ...

  3. JVM组成、GC回收机制、算法、JVM常见启动参数、JAVA出现OOM,如何解决、tomcat优化方法

    JVM组成.GC回收机制.算法.JVM常见启动参数.JAVA出现OOM,如何解决.tomcat优化方法

  4. tomcat 优化配置 java-8 tomcat-7

    tomcat 优化配置 , 说明 一.并发优化 1.JVM调优 以下为1G物理内存tomcat配置: JAVA_OPTS="-server -Xms512M -Xmx512M -Xss256 ...

  5. Tomcat 优化方案 和 配置详解(转)

    转自 Tomcat 优化方案 和 配置详解 http://201605130349.iteye.com/blog/2298985 Server.xml配置文件用于对整个容器进行相关的配置. <S ...

  6. Tomcat优化详解

    1          概述         本文档主要介绍了Tomcat的性能调优的原理和方法.可作为公司技术人员为客户Tomcat系统调优的技术指南,也可以提供给客户的技术人员作为他们性能调优的指导 ...

  7. tomcat优化和JVM修改内存

    Tomcat中的线程池(APR和ThreadPool) 2. 在Connector中指定使用共享线程池: <Connector executor="tomcatThreadPool&q ...

  8. tomcat优化(转)

    tomcat优化 Activiti  分享牛  2017-02-08  1132℃ 本文重点讲解tomcat的优化. 基本优化思路: 1.         尽量缩短单个请求的处理时间. 2.      ...

  9. Tomcat学习总结(3)——Tomcat优化详细教程

    Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器.而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化. 一.内存优化 默认情况下To ...

  10. Tomcat优化步骤【转】

    一.Tomcat的缺省是多少,怎么修改 Tomcat的缺省端口号是8080.修改Tomcat端口号:1.找到Tomcat目录下的conf文件夹2.进入conf文件夹里面找到server.xml文件3. ...

随机推荐

  1. nginx配置文件注释说明

    #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processes 8; #全局错误日志定义类型,[ debug | ...

  2. Docker从0开始之部署一套2048小游戏

    本文记录一下在docker部署一套2048小游戏的过程,在娱乐中熟悉docker的应用部署.docker 安装不在本文讲述之中,参考我的其它博客. 1.获取image镜像. 方法一:daocloud. ...

  3. Keil和SourceInsight中文乱码解决方法

    一.KEIL乱码 到菜单栏Edit--->Configuration-->Encoding ---ChineseSimplied 二.SourceInsight乱码 错误现象:注释乱码,查 ...

  4. AES加解密程序的实现

    AES加解密程序的实现正常情况,用户不能访问sys.dbms_crypto,需要DBA授权:grant execute on dbms_crypto to crm;建立加解密的PKG_AES包:CRE ...

  5. js——事件冒泡与捕获小例子

    布局代码 #outer{ width: 300px; height: 300px; background: red; } #inner{ width: 200px; height: 200px; ba ...

  6. SS-QT5

    https://blog.csdn.net/sos218909/article/details/78781017

  7. laravel 查询

    public function recommends(Request $request) { // $sort = $request->query('sort'); $userId = $req ...

  8. bzoj1912 树形dp求直径(新写法),求直径的两端点

    通过回溯法可以求出直径的两个端点,同时注意有负权边的树求直径不可以用两次dfs来求,而必须用dp做 /* 分情况讨论问题 一条边也不加的情况,显然每条边要扫描两次, 该情况的答案是2(n-1) 只加一 ...

  9. Python使用re模块实现正则表达式操作

    Python提供了re模块,用于实现正则表达式的操作.在实现时,可以使用re模块提供的方法(如search().match().findall()等)进行字符串处理,也可以先使用re模块的compil ...

  10. Java 获取图片的大小、宽、高

    参考:https://www.cnblogs.com/hongten/archive/2012/11/26/hongten_java_ImageReader_BufferedImage.html im ...