鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

NUMA精细化分析

命令功能

基于ARM SPE的能力分析得到系统精细化的DDR访问、NUMA访问流量矩阵以及进程的内存访问等信息。

  • 采集NUMA精细化数据时需要服务器支持ARM SPE采集能力,配置SPE请参见配置SPE环境
  • 已生成TAR包的任务可导入Web界面进行图形可视化的查看。导入详情请参见任务管理中的任务导入部分内容。

命令格式

devkit tuner numafast [-d <DURATION> | --duration=DURATION] [-i <INTERVAL>] | --interval=INTERVAL]

参数说明

表1 参数说明

参数

参数选项

说明

-h/--help

-

获取帮助信息。

-o/--outpath

file

设置报告数据生成文件名,不需以“.tar”结尾,不设置时默认为当前目录+numafast+时间戳。

-l/--log-level

0,1,2,3

配置日志等级。默认值为1(info)。

  • 0(debug)
  • 1(info)
  • 2(warning)
  • 3(error)

-d/--duration

Num

设置采集时长,单位为秒,取值范围2到172800秒,不设置时默认为一直采集,可使用Ctrl+\取消任务或Ctrl+C停止采集并进入分析。

-i/--interval

Num

设置采样间隔,不设置时默认为5秒,可设置2至30秒。

-c/--count

Num

设置SPE采集指令间隔,可设置1到4,294,967,295个,不设置时默认为2048。

-n/--num

Num

设置需要展示的topN的进程数,默认为10个,可设置1到30个。

--package

-

设置是否生成报告数据压缩包,名称默认为numafast-时间戳.tar。

-f/ --file

-

设置仅生成报告数据而不将其生成可使用的报告数据压缩包。该参数需和--package配合使用。

使用示例

命令:

devkit tuner numafast -i 2 -c 2048 -n 3 --package
  • 该命令采集参数为采样间隔2秒,SPE采集指令间隔为2048个,展示Top3的进程数,并生成报告数据压缩包到默认路径。
  • 不设置-d参数时可使用Ctrl+\取消任务或Ctrl+C停止采集;若使用-d参数,输出报告数受-i参数影响,例:-d 10 -i 2000(采样时长10秒,采样间隔2秒,则生成报告数为5份)。

结果回显:

Enter analyze mode, please wait 5 seconds...

NUMAFAST ANALYSIS(Press Ctrl+C to exit)
==========================================================================================
1. System's numa score : 0.88
   Note: score = (max cost - real cost) / (max cost - min cost)
         real cost = SUM(0<=i,j<node number) numa distance(i, j) * access percentage(i, j)
         max cost = MAX(numa distance) , min cost = MIN(numa distance).
         This score is best at 1 and worst at 0.
         Format: traffic | numa distance | access percentage.

              DST_0               DST_1               DST_2               DST_3
SRC_0   0.63GB|10|38.24%    1.03GB|12|23.53%    0.10GB|20|8.82%     0.12GB|22|2.94%
SRC_1   0.00GB|12|0.00%     1.16GB|10|26.47%    0.00GB|22|0.00%     0.00GB|24|0.00%
SRC_2   0.00GB|20|0.00%     0.00GB|22|0.00%     0.00GB|10|0.00%     0.00GB|12|0.00%
SRC_3   0.00GB|22|0.00%     0.00GB|24|0.00%     0.00GB|12|0.00%     0.00GB|10|0.00%

==========================================================================================
2. Node detail information of memory access traffic:
   Note:RMA(Die): Access traffic across NUMA dies.
        RMA(Socket): Access traffic across NUMA sockets.
        LMA: Local access traffic on the NUMA node.
        %CPU: Number of occupied CPU cores. For example, 600% indicates that 6 CPU cores
        are occupied.

 NID RMA(Die) RMA(Skt)      LMA  %RMA MEM(all) MEM(free) %MEM   %CPU
   0   1.03GB   0.22GB   0.63GB  66.5  63.21GB    0.27GB 99.6  137.1
   1   0.00GB   0.00GB   1.16GB   0.0  63.93GB    0.77GB 98.8   93.2
   2   0.00GB   0.00GB   0.00GB   0.0  63.93GB   10.69GB 83.3   96.4
   3   0.00GB   0.00GB   0.00GB   0.0  62.93GB   48.75GB 22.5  109.6

==========================================================================================
3. Show top 3 process which sorted by memory access:
   Note:Process number: The actual number of SPE collection processes prevails. If the number of collection
        processes is less than the configured number, the actual number is displayed.
        MIGRATED X|Y: X indicates how many times threads of the process are migrated between
        NUMA nodes, and Y indicates the number of threads in the process.
        ACCESS: Percentage of the process access traffic to the total traffic.Top N
        sorting is based on this.

    PID  SCORE  ACCESS RMA(Die) RMA(Skt)      LMA  %RMA MIGRATED   %CPU  COMMAND
2083500   1.00  38.24%   0.00GB   0.00GB   0.63GB   0.0   0|2       nan  test_thread
3296840   0.97  32.35%   0.26GB   0.00GB   1.16GB  18.2   0|2       nan  python
3784179   0.61  29.41%   0.77GB   0.22GB   0.00GB 100.0   0|1       nan  gunicorn
==========================================================================================
  • 输出报告说明
    报告由三部分组成,分别为访存矩阵信息,内存访问流量的节点详细信息和按内存访问排序的进程信息。
    1. 访存矩阵

      每个数据有三个组成,分别为SRC到DST的带宽流量,SRC到DST的NUMA切换次数,该SRC到DST的流量在总流量的占比。

    2. 内存访问流量的节点详细信息
      表2 节点详细信息表头说明

      参数

      说明

      NID

      NUMA的ID

      RMA(Die)

      跨NUMA的访问流量

      RMA(Skt)

      跨NUMA套接字访问流量。

      LMA

      NUMA节点上的本地访问流量。

      %RMA

      远端访问流量占比。

      MEM(all)

      总内存大小。

      MEM(free)

      可使用内存的大小。

      %MEM

      内存使用率。

      %CPU

      占用CPU核数,如600%表示占用6个CPU核。

    3. 显示按内存访问排序的前几个进程信息
      表3 进程信息表头说明

      参数

      说明

      PID

      进程ID。

      SCORE

      NUMA情况评分。

      ACCESS

      进程访问流量占总流量的百分比,Top N的排序就是以此为基础的。

      RMA(Die)

      跨NUMA的访问流量

      RMA(Skt)

      跨NUMA套接字访问流量。

      LMA

      NUMA节点上的本地访问流量。

      %RMA

      远端访问流量占比。

      MIGRATED

      线程在不同NUMA节点的迁移次数和进程的线程数。

      %CPU

      CPU使用率。

      COMMAND

      进程的命令行。