IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> jvm调优一些命令 -> 正文阅读

[系统运维]jvm调优一些命令

#查看java进程PID信息

jps

#查看java进程信息,PID
jps
#显示完整类名
jps -l 
#显示启动参数
jps -v
#显示完整路径
jps -m
#查看远程主机java进程信息
jps <hostid>

#查看java进程堆信息,以及导出用于分析的内存镜像快照

?jmap

#查看某个java进程堆信息
jmap -heap <pid>

#生成jvm内存镜像文件,里面包含了内存堆详细的使用信息,用作分析,如jvisualvm
jmap -dump:live,format=b,file=D:\文件名.hprof <pid>
或
jmap -dump:live,format=b,file=D:\文件名.dump<pid>

#查看java进程中线程堆栈信息,可以定位导致异常线程的代码

jstack

#查看java进程线程堆栈信息
jstack -l <pid>


##扩展   配合top命令或ps命令和管道命令使用

#查看具体线程信息,后通过管道命令查看某个线程的堆栈信息
top -Hp <pid>
jstack <pid> | grep -A 10 <线程id的16进制数>

# 或者
ps -T -p <pid>
jstack <pid> | grep -A 10 <线程id的16进制数>

#监控jvm的统计信息,如gc垃圾收集,类加载行为

#显示有关类加载器行为的统计信息
jstat -class <pid>
#显示有关 Java HotSpot VM 即时编译器行为的统计信息
jstat -compiler <pid>
#显示有关垃圾收集堆行为的统计信息
jstat -gc <pid>
#显示各代容量及其对应空间的统计信息
jstat -gccapacity <pid>
#显示有关垃圾收集统计信息的摘要(与 相同jstat -gcutil),以及最后和当前(如果适用)垃圾收集事件的原因
jstat -gccause <pid>
#显示新生代的行为统计
jstat -gcnew <pid>
#显示新世代的大小及其对应空间的统计信息
jstat -gcnewcapacity <pid>
#显示有关老年代行为的统计信息和元空间统计信息
jstat -gcold <pid>
#显示老年代大小的统计信息
jstat -gcoldcapacity <pid>
#显示有关元空间大小的统计信息
jstat -gcmetacapacity <pid>
#显示有关垃圾收集统计信息的摘要
jstat -gcutil <pid>
#显示 Java HotSpot VM 编译方法统计信息
jstat -printcompilation <pid>

jps -h

usage: jps [-help]
       jps [-q] [-mlvV] [<hostid>]

Definitions:
    <hostid>:      <hostname>[:<port>]

jmap -h

用法:
    jmap [选项] <pid>
        (连接到正在运行的进程)
    jmap [选项] <executable <core>
        (连接到核心文件)
    jmap [option] [server_id@]<远程服务器 IP 或主机名>
        (连接到远程调试服务器)

其中 <option> 是以下之一:
    <none> 打印与 Solaris pmap 相同的信息
    -heap 打印java堆摘要
    -histo[:live] 打印java对象堆的直方图;如果“活”
                         指定子选项,只计算活动对象
    -clstats 打印类加载器统计信息
    -finalizerinfo 打印关于等待完成的对象的信息
    -dump:<dump-options> 以 hprof 二进制格式转储 java 堆
                         转储选项:
                           活转储仅活对象;如果没有指定,
                                        堆中的所有对象都被转储。
                           format=b 二进制格式
                           file=<file> 将堆转储到 <file>
                         示例:jmap -dump:live,format=b,file=heap.bin <pid>
    -F 力。与 -dump:<dump-options> <pid> 或 -histo 一起使用
                         当 <pid> 没有时强制堆转储或直方图
                         回应。不支持“live”子选项
                         在这种模式下。
    -h | -help 打印此帮助信息
    -J<flag> 将 <flag> 直接传递给运行时系统


#英文原注
Usage:
    jmap [option] <pid>
        (to connect to running process)
    jmap [option] <executable <core>
        (to connect to a core file)
    jmap [option] [server_id@]<remote server IP or hostname>
        (to connect to remote debug server)

where <option> is one of:
    <none>               to print same info as Solaris pmap
    -heap                to print java heap summary
    -histo[:live]        to print histogram of java object heap; if the "live"
                         suboption is specified, only count live objects
    -clstats             to print class loader statistics
    -finalizerinfo       to print information on objects awaiting finalization
    -dump:<dump-options> to dump java heap in hprof binary format
                         dump-options:
                           live         dump only live objects; if not specified,
                                        all objects in the heap are dumped.
                           format=b     binary format
                           file=<file>  dump heap to <file>
                         Example: jmap -dump:live,format=b,file=heap.bin <pid>
    -F                   force. Use with -dump:<dump-options> <pid> or -histo
                         to force a heap dump or histogram when <pid> does not
                         respond. The "live" suboption is not supported
                         in this mode.
    -h | -help           to print this help message
    -J<flag>             to pass <flag> directly to the runtime system

jstack -h

用法:
     jstack [-l] <pid>
         (连接到正在运行的进程)
     jstack -F [-m] [-l] <pid>
         (连接到挂起的进程)
     jstack [-m] [-l] <可执行文件> <核心>
         (连接到核心文件)
     jstack [-m] [-l] [server_id@]<远程服务器 IP 或主机名>
         (连接到远程调试服务器)

选项:
     -F 强制线程转储。 当 jstack <pid> 没有响应(进程挂起)时使用
     -m 打印 java 和 native 帧(混合模式)
     -l 长列表。 打印关于锁的附加信息
     -h 或 -help 打印此帮助信息


#英文原注
Usage:
    jstack [-l] <pid>
        (to connect to running process)
    jstack -F [-m] [-l] <pid>
        (to connect to a hung process)
    jstack [-m] [-l] <executable> <core>
        (to connect to a core file)
    jstack [-m] [-l] [server_id@]<remote server IP or hostname>
        (to connect to a remote debug server)

Options:
    -F  to force a thread dump. Use when jstack <pid> does not respond (process is hung)
    -m  to print both java and native frames (mixed mode)
    -l  long listing. Prints additional information about locks
    -h or -help to print this help message

jstat -h (详情请看官网https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html

用法:jstat -help|-options
       jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

定义:
  <option> -options 选项报告的选项
  <vmid> 虚拟机标识符。 vmid 采用以下形式:
                     <lvmid>[@<主机名>[:<端口>]]
                其中 <lvmid> 是目标的本地虚拟机标识符
                Java虚拟机,通常是一个进程id; <主机名> 是
                运行目标 Java 虚拟机的主机名;
                <port> 是 rmiregistry 上的端口号
                目标主机。有关更完整的信息,请参阅 jvmstat 文档
                虚拟机标识符的描述。
  <lines> 标题行之间的样本数。
  <interval> 采样间隔。允许使用以下形式:
                    <n>[“毫秒”|“秒”]
                其中 <n> 是一个整数,后缀指定单位为
                毫秒(“ms”)或秒(“s”)。默认单位是“毫秒”。
  <count> 终止前要采集的样本数。
  -J<flag> 将 <flag> 直接传递给运行时系统。


#英文原注
Usage: jstat -help|-options
       jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

Definitions:
  <option>      An option reported by the -options option
  <vmid>        Virtual Machine Identifier. A vmid takes the following form:
                     <lvmid>[@<hostname>[:<port>]]
                Where <lvmid> is the local vm identifier for the target
                Java virtual machine, typically a process id; <hostname> is
                the name of the host running the target Java virtual machine;
                and <port> is the port number for the rmiregistry on the
                target host. See the jvmstat documentation for a more complete
                description of the Virtual Machine Identifier.
  <lines>       Number of samples between header lines.
  <interval>    Sampling interval. The following forms are allowed:
                    <n>["ms"|"s"]
                Where <n> is an integer and the suffix specifies the units as 
                milliseconds("ms") or seconds("s"). The default units are "ms".
  <count>       Number of samples to take before terminating.
  -J<flag>      Pass <flag> directly to the runtime system.

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 16:03:51  更:2022-02-28 16:07:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:27:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码