当前位置: 首页 > news >正文

wordpress 图片自动下载文件长沙seo优化服务

wordpress 图片自动下载文件,长沙seo优化服务,品牌网站建设预算,tk注册网站介绍 在生产环境中,经常会遇到各种各样奇葩的性能问题,所以掌握最基本的JVM命令行监控工具还是很有必要的 名称主要作用jps查看正在运行的Java进程jstack打印线程快照jmap导出堆内存映像文件jstat查看jvm统计信息jinfo实时查看和修改jvm配置参数jhat用…

介绍

在生产环境中,经常会遇到各种各样奇葩的性能问题,所以掌握最基本的JVM命令行监控工具还是很有必要的

名称主要作用
jps查看正在运行的Java进程
jstack打印线程快照
jmap导出堆内存映像文件
jstat查看jvm统计信息
jinfo实时查看和修改jvm配置参数
jhat用于分析heapdump文件

jps:查看正在运行的Java进程

jps可以列出正在运行的Java进程,并显示虚拟机执行主类(Main Class,main()函数所在的类)名称以及进程id

「如果想看一个命令的后面加 -help参数即可」

[root@VM-0-14-centos ~]# jps -help
usage: jps [-help]jps [-q] [-mlvV] [<hostid>]Definitions:<hostid>:      <hostname>[:<port>]

「可以看到可以监控远程服务,但是基于安全考虑,一般不使用」

常见的选项如下

选项作用
-q只输出进程id
-m输出传递给主类main函数的参数
-l输出主类全类名,如果进程执行的是Jar包,输出jar包名字
-v程序启动时指定的jvm参数
root@localhost:~$ jps
70208 KmpService
183525 LinkAnalysisServer
25160 MipSerachServerroot@localhost:~$ jps -l
70208 com.st.kmp.main.KmpService
183525 com.st.cis.main.LinkAnalysisServer
25160 com.st.cis.main.MipSerachServer

jstack:打印线程快照

「查看某个Java进程中所有线程的状态。一般用来定位线程出现长时间停顿的原因,如发生死循环,死锁,请求外部资源长时间等待等!」

public class DeadLockDemo {private static Object lockA = new Object();private static Object lockB = new Object();public static void main(String[] args) {Thread threadA = new Thread(() -> {synchronized (lockA) {try {TimeUnit.SECONDS.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("get lockA");synchronized (lockB) {System.out.println("threadA run finish");}}});Thread threadB = new Thread(() -> {synchronized (lockB) {try {TimeUnit.SECONDS.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("get lockB");synchronized (lockA) {System.out.println("threadB run finish");}}});threadA.setName("myThreadA");threadB.setName("myThreadB");threadA.start();threadB.start();}
}

「写了一个死锁的例子,启动后执行jps找到进程id为19457」

root@localhost ~ % jps
19457 DeadLockDemo
19458 Launcher
2658 
19459 Jps

接着执行如下命令,列出了这个进程每个线程的执行状态

jstack 19457

「从图中可以看到有很多线程,GC线程,myThreadA,myThreadB等,其中myThreadA和myThreadB的线程状态为BLOCKED,并且在最后提示出了死锁发生的位置」

jmap:导出堆内存映像文件

「jmap主要用来用来导出堆内存映像文件,看是否发生内存泄露等。」

生产环境一般会配置如下参数,让虚拟机在OOM异常出现之后自动生成dump文件

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/peng

执行如下命令即可手动获得dump文件

jmap -dump:file=文件名.dump 进程id

「分析堆内存的工具有很多,如Java VisualVM,jhat等。」

jstat:查看jvm统计信息

「jstat可以显示本地或者远程虚拟机进程中的类装载、 内存、 垃圾收集、 JIT编译等运行数据」

用jstat查看一下类装载的信息。一般很少使用这个命令,命令行看垃圾收集信息真不如看图形界面方便,就不多做介绍了。

[root@VM-0-14-centos ~]# jstat -class 19402
Loaded  Bytes  Unloaded  Bytes     Time   10229 19679.1       52    76.0       5.33

含义如下

Loaded解释
Loaded加载类的个数
Bytes加载类的字节数
Unloaded卸载类的个数
Bytes卸载类的字节数
Time花费的时间

jinfo:实时查看和修改jvm配置参数

jinfo的作用是实时地查看和修改虚拟机各项参数。

「使用jps命令的**-v**参数可以查看虚拟机启动时显式指定的参数列表」,但如果想知道未被显式指定的参数的系统默认值,除了去找资料外,就只能使用jinfo的-flag选项进行查询了(如果只限于JDK 1.6或以上版本的话,使用java -XX:+PrintFlagsFinal查看参数默认值也是一个很好的选择)

**jinfo flags pid**在高版本才能正常使用,在jdk1.8这个版本不能正常使用」

应用程序设置如下参数

-Xmx10m -Xms10m

查看最大堆内存和是否打印GC日志,可以看到不打印GC日志 接着设置打印GC日志,再次查看,打印GC日志

root@localhost ~ % jinfo -flag MaxHeapSize 20253         
-XX:MaxHeapSize=10485760
root@localhost ~ % jinfo -flag PrintGCDetails 20253
-XX:-PrintGCDetails
root@localhost ~ % jinfo -flag +PrintGCDetails 20253
root@localhost ~ % jinfo -flag PrintGCDetails 20253 
-XX:+PrintGCDetails

**Xmx****MaxHeapSize**的别名」

http://www.hkea.cn/news/25374/

相关文章:

  • php做网站csdn网站seo公司哪家好
  • 今日头条建站工具何鹏seo
  • wordpress 培训模板优化落实疫情防控新十条
  • 关于做外汇现货的网站太原整站优化排名外包
  • 星悦做任务网站是新网站百度收录
  • 十大营销网站seo关键词查询工具
  • 怎么查询网站所有关键词靠谱的广告联盟
  • 超酷的网站设计磁力搜索引擎
  • 网站建设写程序用什么软件成都疫情最新消息
  • 做网站需要什么资金2022今天刚刚发生地震了
  • 建设网站费用主要包括哪些google商店
  • 专注邯郸建设手机网站贴吧友情链接在哪
  • 网站备案拍照背景志鸿优化网官网
  • 网站百度知道怎么做推广网站搜索引擎优化的方法
  • 网站建设注意哪些问题sem和seo是什么职业岗位
  • 一_建设网站前的市场分析奶茶软文案例300字
  • 做网站智能工具江阴企业网站制作
  • 怎么看网站有没有做推广大数据营销系统多少钱
  • 广东工厂搜索seoseo平台优化服务
  • 网站开发平台 eclipseseo网站推广案例
  • 什么网站做调查能赚钱关键词优化报价推荐
  • 网站开发职业认知小结开发一个app平台大概需要多少钱?
  • 装修公司全包项目seo搜索引擎实训心得体会
  • 爱站网是干什么的长沙关键词排名首页
  • wordpress 教垜四川seo推广公司
  • 东莞市阳光网青岛seo服务
  • 网站弹窗在中间位置企业培训师
  • 整站下载器 安卓版域名解析查询站长工具
  • 跨境自建站模板seo推广是做什么
  • 网站建设与网页设计报告网络营销师报名入口