性能测试工具——MLC

MLC(Memory Latency Checker v3.9a)

用于检查内存的延迟(latency),带宽(bandwidth (b/w))

使用方法

直接下载源文件,解压后启动二进制可执行文件即可,支持Window和Linux

测量指标说明(以宿主机为例)

  • 延迟矩阵( matrix of idle memory latencies ):由于NUMA特性具有多个node,所以按照local-remote的输出就会形成一个矩阵
    Measuring idle latencies (in ns)...
                     Numa node
    Numa node            0       1
           0         109.8   290.8
           1         318.7   110.9
  • 峰值内存带宽(均使用local memory)
    Measuring Peak Injection Memory Bandwidths for the system
    Bandwidths are in MB/sec (1 MB/sec = 1,000,000 Bytes/sec)
    Using all the threads from each core if Hyper-threading is enabled
    Using traffic with the following read-write ratios
    ALL Reads        :      320646.0
    3:1 Reads-Writes :      308897.9
    2:1 Reads-Writes :      311257.2
    1:1 Reads-Writes :      316548.4
    Stream-triad like:      320753.7
  • 带宽矩阵
    Measuring Memory Bandwidths between nodes within system
    Bandwidths are in MB/sec (1 MB/sec = 1,000,000 Bytes/sec)
    Using all the threads from each core if Hyper-threading is enabled
    Using Read-only traffic type
                    Numa node
    Numa node            0       1
           0        160161.6        58708.8
           1        57248.4 160810.5
  • 不同带宽点的延迟

    Using Read-only traffic type
    Inject  Latency Bandwidth
    Delay   (ns)    MB/sec
    ==========================
     00000  390.32   320176.4
     00002  389.73   320322.8
     00008  374.64   318708.1
     00015  324.33   320912.7
     00050  253.49   314292.1
     00100  164.22   323514.5
     00200  132.04   201023.8
     00300  129.70   138444.2
     00400  126.42   105930.3
     00500  124.52    85723.9
     00700  115.40    61410.3
     01000  113.59    44243.1
     01300  112.38    34368.7
     01700  112.80    26512.6
     02500  110.14    18301.8
     03500  108.72    13277.9
     05000  108.42     9488.8
     09000  107.73     5550.8
     20000  109.60     2820.6
  • 处理器中缓存之间的延迟
    Measuring cache-to-cache transfer latency (in ns)...
    Local Socket L2->L2 HIT  latency        29.2
    Local Socket L2->L2 HITM latency        30.6
    Remote Socket L2->L2 HITM latency (data address homed in writer socket)
                            Reader Numa Node
    Writer Numa Node     0       1
                0        -   334.6
                1    335.8       -
    Remote Socket L2->L2 HITM latency (data address homed in reader socket)
                            Reader Numa Node
    Writer Numa Node     0       1
                0        -   340.1
                1    343.5       -
  • 其他说明
    • 在容器中直接打开mlc会有echo 4000 > /proc/sys/vm/nr_hugepages的提示,意思是开启大页(huge page,x86的cpu默认4KB大小的内存页面,也支持2MB大小的大页)
    • 还需要用这个命令./mlc --idle_latency -c0 -j0 -t10 -e -l128,用于打印空闲内存延迟
      • mlc --loaded_latency –t10此命令执行每个注入点 10 秒并输出带宽和在该时间间隔内测量的延迟。 -t 的默认值为 2 秒。
      • mlc --idle_latency –c0 –j0此命令测量从 cpu# 0 到 numa 节点# 0 上的内存的空闲延迟。注意numa 节点0可能是常规节点(具有 CPU 资源),也可能是没有 CPU 资源的仅内存节点
      • mlc -e不要修改预取器设置
      • -l128 此命令使用128字节跨度而不是 64 字节来测量本地内存延迟字节步长。
    • 另外也可以直接启动写好的脚本run_mlc_*.sh,主要使用mlc --loaded_latency -t 120 -d0 -R && wait sync之类的命令,进行测试
    • 关于更多命令行参数,可以查看mlc中的文档说明
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇