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. 前端 ---JS中的面向对象

    JS中的面向对象   创建对象的几种常用方式 1.使用Object或对象字面量创建对象 2.工厂模式创建对象 3.构造函数模式创建对象 4.原型模式创建对象 1.使用Object或对象字面量创建对象 ...

  2. 开通博客的第一天上传我的C#基础笔记。

    1.索引器  string arrStr = "sddfdfgfh";  索引器的目的就是为了方便而已,可以在该类型的对象后面直接写[]访问该对象里面的成员  Console.Wr ...

  3. python-GIL、死锁递归锁及线程补充

    一.GIL介绍 GIL全称 Global Interpreter Lock ,中文解释为全局解释器锁.它并不是Python的特性,而是在实现python的主流Cpython解释器时所引入的一个概念,G ...

  4. httprouter与 fasthttp 的性能对比

    关于协议: 本打算接入层使用gRPC,虽然基于HTTP 2.0 效率比较高,而且使用protobuf 能进行高效的序列化.但是本次系统需要和 JAVA进行对接,考虑到gRPC对JAVA的支持性不是很好 ...

  5. 高级UI特效—用SVG码造一个精美的中国地图

    前言 来继续学习SVG,要想深入了解还是要多动手进行实战.关于svg基础可以去看一下我的上一篇文章<SVG前戏—让你的View多姿多彩>,今天就用SVG打造一个精美的UI效果. 正文 先上 ...

  6. Confluence 6 选择一个默认的语言

    管理员可以设置应用到你 Confluence 站点所有空间的默认语言.请注意,一个独立的用户可以在他们自己的属性中选择他们独立的语言属性. 设定默认的语言 在 Confluence 站点中修改默认的语 ...

  7. 好用的JS拖拽插件

    下载artDialog插件的时候发现它把拖拽单独封装成了一个方法,挺好用的,使用方法如下... 第一种拖拽方式-点击容器指定区域进行拖拽 $('.ui-dialog').on(DragEvent.ty ...

  8. laravel Blade 模板引擎

    与视图文件紧密关联的就是模板代码,我们在视图文件中通过模板代码和 HTML 代码结合实现视图的渲染.和很多其他后端语言不同,PHP 本身就可以当做模板语言来使用,但是这种方式有很多缺点,比如安全上的隐 ...

  9. 两种lca的求法:树上倍增,tarjan

    第一种:树上倍增 f[x,k]表示x的2^k辈祖先,即x向根结点走2^k步达到的结点. 初始条件:f[x][0]=fa[x] 递推式:f[x][k]=f[ f[x][k-1] ][k-1] 一次bfs ...

  10. Java 获取窗口的宽、高

    创建一个新窗口,通过getSize()获取这个窗口的宽.高. import javax.swing.JFrame; public class WindowInTheMiddle extends JFr ...