使用docker查看jvm状态,在docker中使用jmap,jstat
Docker中查看JVM的信息:
1. 列出docker容器:docker ps
2. 标准输入和关联终端:docker exec -it 容器ID bash
3. 查找出java进程: ps – ef | grep java
4. 统计gc信息统计: jstat –gcutil 466 3000 每三秒打印一次
如果CPU飙太高,可以参考《java调优1:找出Java进程中大量消耗CPU》
示例1--jstack查看线程堆栈信息
查看正在运行的容器id
docker ps
这里我运行的是一个spring boot应用,docker容器id如下

使用docker exec进入Docker容器,命令如下
docker exec -it be6203473016 /bin/sh
be6203473016 是CONTAINER ID

运行jps,已经能看到刚才启动的spring boot应用了

这时就可以使用jstat,jmap等根据进程id查看程序状态了,以下是我运行jstack查看的堆栈信息

示例2--jmap导出内存堆栈信息
jmap -dump:format=b,file=/logs/test.bin
(上面的logs目录需要你自己在docker容器里找个已存在的目录啊)
导出jmap dump的文件,进一步分析,copy docker中的文件到宿主机的当前目录,命令如下:
docker cp be6203473016:/logs/test.bin .
test.bin 是我刚才用jmap -dump生成的文件
be6203473016是docker 容器id
在用sz从宿主机下载到工作电脑,命令如下:
sz test.bin
示例3--jstat统计gc回收信息
jstat –gcutil
每三秒打印一次

示例4--jinfo统计gc回收信息
使用docker查看jvm状态,在docker中使用jmap,jstat的更多相关文章
- 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World
操作环境 操作系统:CentOS7.2 内存:1GB CPU:2核 Docker服务常用命令 docker服务操作命令如下 service docker start #启动服务 service doc ...
- Docker的安装以及使用Docker安装jenkins,gogs,tomcat(一)
(1)Docker的安装 官网安装链接 :https://yeasy.gitbooks.io/docker_practice/content/ 卸载旧版本 旧版本的 Docker 称为 docker ...
- Idea连接服务器docker并部署代码到docker实现一键启动
好记性不如烂笔头,写笔记是为了回头看的. 谁要是不小心搜了看了,如有不足之处敬请谅解. 一.准备工作 虚拟机centos7.X,docker1.3.X,Win10 Idea2018.1 默认Idea已 ...
- Docker 创建容器 查看容器状态 - 三
Docker 创建容器 1.拉取镜像 默认是 docker.io 仓最新镜像 docker pull tomcat 2.运行一个服务容器 docker run -d -p 0.0.0.0:18080: ...
- Docker查看运行中容器并进入容器
一.简述 Docker查看运行中容器并进入容器. 二.方法 $ sudo docker ps $ sudo docker exec -it 775c7c9ee1e1 /bin/bash 将黄色文字替换 ...
- Docker 容器启动 查看容器状态 - 四
1.容器两种方式进行启动 一种是基于创建一个容器并启动 docker create docker start 另一种 使用 run 创建自动启动:是状态下的停止 启动 docker start ngi ...
- Docker学习笔记之-在CentOS中安装Docker
上一节演示了如何 通过Xshell连接CentOS服务,链接:Docker学习笔记之-通过Xshell连接 CentOS服务 本节将演示 如何在CentOS中安装 Docker 第一步:更新系统包到最 ...
- Docker——Tomcat JVM 内存配置
前言 安装再docker中的tomcat,在下载大文件或者某些情况下,会出现tomcat的内存溢出等情况,所以需要配置tomcat的内存大小,docker中的tomcat内存大小配置有四种方式. 一. ...
- Docker 查看镜像信息
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 资深架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 文章首发个人网站: https://ww ...
随机推荐
- python----常用模块(random,string,time&datetime,os,sys,xpinyin(拼音))
一.模块.包 1.1 什么是模块 在python中,一个.py文件就构成一个模块,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 1.2 什么是包 ...
- UVa 10905 - Children's Game 排序,题目没有说输入是int 难度: 0
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...
- Crontab中的除号(slash)到底怎么用?(转载)
转载于:https://www.cnblogs.com/cocowool/p/5865397.html crontab 是Linux中配置定时任务的工具,在各种配置中,我们经常会看到除号(Slash) ...
- Centos7配置TiDB监控
一: 1.1:http://192.168.1.12:3000/ 1.2:点击install Grafana wget https://dl.grafana.com/oss/release/grafa ...
- HTML5:图片、音乐和视频
图片.音乐和视频 一.图片 1.属性 属性 说明 alt 规定图像的替代文本. src 规定显示图像的 URL align 规定如何根据周围的文本来排列图像. border 定义图像周围的边框. he ...
- Nginx 单个进程允许的最大连接数
(1) 控制 Nginx 单个进程允许的最大连接数的参数为 worker_connections ,这个参数要根据服务器性能和内存使用量来调整 (2) 进程的最大连接数受 Linux 系统进程的最大打 ...
- 网易2018校招内推编程题-堆棋子-C++实现
链接:https://www.nowcoder.com/questionTerminal/27f3672f17f94a289f3de86b69f8a25b来源:牛客网 [编程题]堆棋子 热度指数:14 ...
- 【leetcode】414. Third Maximum Number
problem 414. Third Maximum Number solution 思路:用三个变量first, second, third来分别保存第一大.第二大和第三大的数,然后遍历数组. cl ...
- 苹果pns推送和唤醒
使用的是苹果自己的推送服务器 certificatePath 推送证书 VoipcertificatePath 唤醒证书 certificatePassword 证书密码 以上三项都是需要使用上架了A ...
- OneStopEnglish corpus: A new corpus for automatic readability assessment and text simplification-paper
这篇论文的related work非常详尽地介绍了各种readability的语料 abstract这个paper描述了onestopengilish这个三个level的文本语料的收集和整理,阐述了再 ...