设为首页收藏本站
查看: 1011|回复: 1

【米尔瑞萨RZ/G2L开发板-试用体验】CPU、内存等压力测试

[复制链接]

33

主题

15

回帖

855

积分

管理员

积分
855
米尔小助手1 发表于 2023-6-6 11:45:12 | 显示全部楼层 |阅读模式
为了了解核心资源,今天根据《MYD-YG2LX_Linux软件评估指南.pdf》对开发板的核心资源进行测试。

查看 CPU 信息命令
读取系统中的 CPU 的提供商和参数信息,则可以通过/proc/cpuinfo 文件得到。
  1. root@myir-yg2lx:~# cat /proc/cpuinfo
  2. processor       : 0
  3. BogoMIPS        : 48.00
  4. Features        : fp asimd evtstrm crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
  5. CPU implementer : 0x41
  6. CPU architecture: 8
  7. CPU variant     : 0x2
  8. CPU part        : 0xd05
  9. CPU revision    : 0

  10. processor       : 1
  11. BogoMIPS        : 48.00
  12. Features        : fp asimd evtstrm crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
  13. CPU implementer : 0x41
  14. CPU architecture: 8
  15. CPU variant     : 0x2
  16. CPU part        : 0xd05
  17. CPU revision    : 0
复制代码

  • processor:系统中逻辑处理核的编号,对于多核处理器则可以是物理核、或者使用超线程技术虚拟的逻辑核
  • BogoMIPS :在系统内核启动时粗略测算的 CPU 每秒运行百万条指令数(MillionInstructions Per Second)

CPU使用情况:
  1. root@myir-yg2lx:~# top
  2. top - 00:24:41 up 24 min,  1 user,  load average: 0.00, 0.00, 0.00
  3. Tasks: 107 total,   1 running, 106 sleeping,   0 stopped,   0 zombie
  4. %Cpu(s):  0.3 us,  0.5 sy,  0.0 ni, 98.8 id,  0.0 wa,  0.2 hi,  0.2 si,  0.0 st
  5. MiB Mem :    855.9 total,    430.8 free,    209.8 used,    215.4 buff/cache
  6. MiB Swap:      0.0 total,      0.0 free,      0.0 used.    570.4 avail Mem

  7.     PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  8.     358 root      20   0  362852  70344  36348 S   0.7   8.0   0:12.13 mxapp2
  9.     548 root      20   0    4616   2460   2020 R   0.7   0.3   0:00.07 top
  10.       7 root      20   0       0      0      0 I   0.3   0.0   0:01.29 kworker+
  11.     110 root      20   0       0      0      0 I   0.3   0.0   0:01.38 kworker+
  12.     222 root      20   0    1784    412    348 S   0.3   0.0   0:00.18 watchdo+
  13.     387 root      20   0 1432744  77964  35256 S   0.3   8.9   0:07.42 dockerd
  14.     396 root      20   0 1328624  45456  18588 S   0.3   5.2   0:06.68 contain+
  15.       1 root      20   0   10352   7564   5036 S   0.0   0.9   0:05.77 systemd
  16.       2 root      20   0       0      0      0 S   0.0   0.0   0:00.01 kthreadd
  17.       3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
  18.       4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par+
  19.       8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_perc+
  20.       9 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tas+
  21.      10 root      20   0       0      0      0 S   0.0   0.0   0:00.16 ksoftir+
  22.      11 root      20   0       0      0      0 I   0.0   0.0   0:00.36 rcu_pre+
  23.      12 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migrati+
  24.      13 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0
复制代码

  • %us:表示用户空间程序的 cpu 使用率(没有通过 nice 调度)
  • %sy:表示系统空间的 cpu 使用率,主要是内核程序
  • %ni:表示用户空间且通过 nice 调度过的程序的 cpu 使用率
  • %id:空闲 cpu
  • %wa: 等待输入输出的 CPU 时间百分比
  • %hi:cpu 处理硬中断的数量
  • %si:cpu 处理软中断的数量 %st: 实时

获取 CPU 温度信息
  1. root@myir-yg2lx:~# cat /sys/class/thermal/thermal_zone0/temp
  2. 47000
复制代码


上面显示数字为千分之一度,除以 1000 就是当前温度值。

CPU 压力测试
我们通过 bc 命令来计算圆周率方法来测试 CPU 在运算过程中的稳定性。
  1. root@myir-yg2lx:/# echo "scale=5000; 4*a(1)" | bc -l -q &[1] 563
  2. root@myir-yg2lx:~# top
  3. top - 00:33:31 up 33 min,  1 user,  load average: 0.29, 0.09, 0.02
  4. Tasks: 108 total,   2 running, 106 sleeping,   0 stopped,   0 zombie
  5. %Cpu(s): 50.2 us,  0.3 sy,  0.0 ni, 49.3 id,  0.0 wa,  0.2 hi,  0.0 si,  0.0 st
  6. MiB Mem :    855.9 total,    464.7 free,    176.5 used,    214.7 buff/cache
  7. MiB Swap:      0.0 total,      0.0 free,      0.0 used.    604.5 avail Mem

  8.     PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  9.     565 root      20   0    2760   1616   1360 R 100.0   0.2   0:18.92 bc
  10.     567 root      20   0    4616   2332   1892 R   0.7   0.3   0:00.09 top
  11.      11 root      20   0       0      0      0 I   0.3   0.0   0:00.46 rcu_pre+
  12.     387 root      20   0 1432744  77964  35256 S   0.3   8.9   0:09.99 dockerd
  13.     396 root      20   0 1328624  45552  18588 S   0.3   5.2   0:09.17 contain+
  14.       1 root      20   0   10352   7564   5036 S   0.0   0.9   0:05.94 systemd
  15.       2 root      20   0       0      0      0 S   0.0   0.0   0:00.01 kthreadd
  16.       3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
  17.       4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par+
  18.       7 root      20   0       0      0      0 I   0.0   0.0   0:01.74 kworker+
  19.       8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_perc+
  20.       9 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tas+
  21.      10 root      20   0       0      0      0 S   0.0   0.0   0:00.16 ksoftir+
  22.      12 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migrati+
  23.      13 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0
  24.      14 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/1
  25.      15 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migrati+
复制代码

我们看到CPU占用一直是100%


经过一段时间的测试,我们看到计算出了圆周率:


查看内存信息
读取系统中的内存的参数信息,则可以通过/proc/meminfo 文件得到。

  1. root@myir-yg2lx:~# cat /proc/meminfo
  2. MemTotal:         876452 kB
  3. MemFree:          476080 kB
  4. MemAvailable:     619184 kB
  5. Buffers:            5788 kB
  6. Cached:           201480 kB
  7. SwapCached:            0 kB
  8. Active:            27224 kB
  9. Inactive:         278828 kB
  10. Active(anon):        608 kB
  11. Inactive(anon):   106696 kB
  12. Active(file):      26616 kB
  13. Inactive(file):   172132 kB
  14. Unevictable:           0 kB
  15. Mlocked:               0 kB
  16. SwapTotal:             0 kB
  17. SwapFree:              0 kB
  18. Dirty:                 4 kB
  19. Writeback:             0 kB
  20. AnonPages:         98852 kB
  21. Mapped:            70956 kB
  22. Shmem:             10436 kB
  23. KReclaimable:      12612 kB
  24. Slab:              71732 kB
  25. SReclaimable:      12612 kB
  26. SUnreclaim:        59120 kB
  27. KernelStack:        3232 kB
  28. PageTables:         2092 kB
  29. NFS_Unstable:          0 kB
  30. Bounce:                0 kB
  31. WritebackTmp:          0 kB
  32. CommitLimit:      438224 kB
  33. Committed_AS:    1093704 kB
  34. VmallocTotal:   135290159040 kB
  35. VmallocUsed:        4708 kB
  36. VmallocChunk:          0 kB
  37. Percpu:              680 kB
  38. AnonHugePages:     36864 kB
  39. ShmemHugePages:        0 kB
  40. ShmemPmdMapped:        0 kB
  41. FileHugePages:         0 kB
  42. FilePmdMapped:         0 kB
  43. CmaTotal:         393216 kB
  44. CmaFree:          238040 kB
  45. HugePages_Total:       0
  46. HugePages_Free:        0
  47. HugePages_Rsvd:        0
  48. HugePages_Surp:        0
  49. Hugepagesize:       2048 kB
  50. Hugetlb:               0 kB
复制代码


获取内存使用率
可使用 free 命令来读取内存的使用情况,-m 参数代表单位为 MByte。

  • total :内存总量 (我拿到的是1G的内存版本)
  • used :被使用的内存量

内存压力测试
通过给定测试内存的大小和次数, 可以对系统现有的内存进行压力上的测试。可使用系统工具 memtester 进行测试,如指定内存大小 100MB,测试次数为 5,测试命令为
“memtester 100M 5"。
下列以使用 100MB 内存空间,单次测试为例:
  1. root@myir-yg2lx:~# memtester 100M 5
  2. memtester version 4.3.0 (64-bit)
  3. Copyright (C) 2001-2012 Charles Cazabon.
  4. Licensed under the GNU General Public License version 2 (only).

  5. pagesize is 4096
  6. pagesizemask is 0xfffffffffffff000
  7. want 100MB (104857600 bytes)
  8. got  100MB (104857600 bytes), trying mlock ...locked.
  9. Loop 1/5:
  10.   Stuck Address       : ok
  11.   Random Value        : ok
  12.   Compare XOR         : ok
  13.   Compare SUB         : ok
  14.   Compare MUL         : ok
  15.   Compare DIV         : ok
  16.   Compare OR          : ok
  17.   Compare AND         : ok
  18.   Sequential Increment: ok
  19.   Solid Bits          : ok
  20.   Block Sequential    : ok
  21.   Checkerboard        : ok
  22.   Bit Spread          : ok
  23.   Bit Flip            : ok
  24.   Walking Ones        : ok
  25.   Walking Zeroes      : ok

  26. Loop 2/5:
  27.   Stuck Address       : ok
  28.   Random Value        : ok
  29.   Compare XOR         : ok
  30.   Compare SUB         : ok
  31.   Compare MUL         : ok
  32.   Compare DIV         : ok
  33.   Compare OR          : ok
  34.   Compare AND         : ok
  35.   Sequential Increment: ok
  36.   Solid Bits          : ok
  37.   Block Sequential    : ok
  38.   Checkerboard        : ok
  39.   Bit Spread          : ok
  40.   Bit Flip            : ok
  41.   Walking Ones        : ok
  42.   Walking Zeroes      : ok

  43. Loop 3/5:
  44.   Stuck Address       : ok
  45.   Random Value        : ok
  46.   Compare XOR         : ok
  47.   Compare SUB         : ok
  48.   Compare MUL         : ok
  49.   Compare DIV         : ok
  50.   Compare OR          : ok
  51.   Compare AND         : ok
  52.   Sequential Increment: ok
  53.   Solid Bits          : ok
  54.   Block Sequential    : ok
  55.   Checkerboard        : ok
  56.   Bit Spread          : ok
  57.   Bit Flip            : ok
  58.   Walking Ones        : ok
  59.   Walking Zeroes      : ok

  60. Loop 4/5:
  61.   Stuck Address       : ok
  62.   Random Value        : ok
  63.   Compare XOR         : ok
  64.   Compare SUB         : ok
  65.   Compare MUL         : ok
  66.   Compare DIV         : ok
  67.   Compare OR          : ok
  68.   Compare AND         : ok
  69.   Sequential Increment: ok
  70.   Solid Bits          : ok
  71.   Block Sequential    : ok
  72.   Checkerboard        : ok
  73.   Bit Spread          : ok
  74.   Bit Flip            : ok
  75.   Walking Ones        : ok
  76.   Walking Zeroes      : ok

  77. Loop 5/5:
  78.   Stuck Address       : ok
  79.   Random Value        : ok
  80.   Compare XOR         : ok
  81.   Compare SUB         : ok
  82.   Compare MUL         : ok
  83.   Compare DIV         : ok
  84.   Compare OR          : ok
  85.   Compare AND         : ok
  86.   Sequential Increment: ok
  87.   Solid Bits          : ok
  88.   Block Sequential    : ok
  89.   Checkerboard        : ok
  90.   Bit Spread          : ok
  91.   Bit Flip            : ok
  92.   Walking Ones        : ok
  93.   Walking Zeroes      : ok

  94. Done.
复制代码

内存压力测试顺利通过。
【小结】
通过以上的核心资源查看,并测试了CPU、内存的压力测试


回复

使用道具 举报

您需要登录后才可以回帖 登录

本版积分规则

Archiver|手机版|小黑屋|米尔科技论坛   

GMT+8, 2024-12-22 00:45 , Processed in 0.056144 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表