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

最新文章

  1. linux 监测函数
  2. 使用idea15搭建基于maven的springmvc-mybatis框架
  3. Centos 6.5编译安装yum
  4. C++ 笔记(一) —— 尽量以 const、enum、inline 替换 #define
  5. htm.dropdownlist
  6. Win7平台下React-Native开发之Android项目打包发布流程
  7. BZOJ 3533 sdoi 2014 向量集
  8. java BigDecimal的使用和四舍五入及格式规范(精准数据)
  9. swift-var/let定义变量和常量
  10. 【阿里聚安全&#183;安全周刊】阿里双11技术十二讲直播预约|AWS S3配置错误曝光NSA陆军机密文件
  11. 和sin有关的代码
  12. 解决Ajax请求时无法重定向的问题
  13. python安装tesseract
  14. C++中的三种继承关系
  15. ACM学习&lt;3&gt;
  16. Linux-eval
  17. 初识web.xml文件
  18. 设置Azure WebSite黑白名单
  19. JAVA中String.format的用法 转16进制,还可以补0
  20. BZOJ3328: PYXFIB

热门文章

  1. python操作三大主流数据库(6)python操作mysql⑥新闻管理后台功能的完善(增、ajax异步删除新闻、改、查)
  2. Callcenter 模块解析
  3. centos 6 不能上网
  4. Python2018-列表的相关操作
  5. Java多线程之控制执行顺序
  6. Jquyer轮播带数字和提示文字
  7. 银联支付java版
  8. Confluence 6 修改站点标题
  9. python之vscode中手动选择python解释器(mac)
  10. NIO(五)