通过容器化部署服务后,也需要对服务的性能进行查看、监控
本文参考https://www.jb51.net/article/207937.htm
1、查看docker容器
docker ps
2、查看容器的信息
查看所有容器信息
docker stats
查看指定容器信息
docker stats 容器id
即此时输出了容器的 CPU、内存、网络I/O、磁盘I/O 等信息
3、进入容器查看
docker exec -it 容器id /bin/bash
top
jps
可以看到pid,可以通过pid去查看线程堆栈信息
docker stats总结:
docker stats 命令可以用于动态显示 Docker容器的资源消耗情况,包括:CPU、内存、网络I/O。
docker stats命令也可以指定已停止的容器,但是不会返回任何信息。
docker stats命令使用 --all 参数,可以列出所有的容器的信息。docker stats命令使用 --no-stream 参数,可以只查看容器的静态信息。
使用jstack 查看
jstack PID
jstat 垃圾回收次数统计
jstat -gc PID
S0C:第一个幸存区的大小
S1C:第二个幸存区的大小
S0U:第一个幸存区的使用大小
S1U:第二个幸存区的使用大小
EC:伊甸园区的大小
EU:伊甸园区的使用大小
OC:老年代大小
OU:老年代使用大小
MC:方法区大小
MU:方法区使用大小
CCSC:压缩类空间大小
CCSU:压缩类空间使用大小
YGC:年轻代垃圾回收次数
YGCT:年轻代垃圾回收消耗时间
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
参考:https://www.cnblogs.com/superchong/p/13416410.html
总的垃圾回收统计
jstat -gcutil PID
#每3秒打印一次
jstat -gcutil PID 3000
检查线上线程信息
jsp -l 展示所有进程
top -Hp [pid] 展示该进程所有线程
jstack -m [pid] > 文件目录 保存该进程下的jstack文件
jmap -dump:format=b,file=文件路径/文件名 [pid] 保存该进程下的dump文件