/images/hugo/avatar.png

5.8 容器的性能分析工具

本节我们来介绍一些专门用于容器性能分析的工具。

1. 工具简介

本节我们将介绍如下一些性能分析工具的使用:

  1. nsenter: 可以进入容器命名空间
  2. sysdig: 用于容器的动态追踪,汇集了一些列性能工具的优势

2. nsenter

nsenter

5.6 bcc

1. bcc 简介

BCC 软件包是使用 eBPF 开发的工具包。这些工具是提供的编写 eBPF 工具的参考示例,并且很实用。它们的使用场景如下图所示:

/images/linux_pf/bcc_tracing_tools_2016.png

不过需要注意的是很多 eBPF 的新特性,都需要比较新的内核版本(如下图所示)

5.3 ps

ps 命令

ps

ps [options]

  • 作用:ps 用于查看进程状态信息
  • 说明:ps 命令参数很乱,我们以常用命令的方式来说明其使用,下面只列出过滤参数
  • 过滤参数:
    • u user: 指定用户的所有进程
    • o [field1,field2…]: 指定显示的字段
    • k [-]field: 以指定字段排序
    • -h:去掉标题栏
    • -H: 显示线程详细信息
    • -f: 以树形结构显示进程间关系

pstree

1
2
3
4
5
6
7
# -t表示显示线程,-a表示显示命令行参数
$ pstree -t -a -p 27458
mysqld,27458 --log_bin=on --sync_binlog=1
...
  ├─{mysqld},27922
  ├─{mysqld},27923
  └─{mysqld},28014

ps aux f

ps aux f