系统驱动单元测试知识点总结

1、CPU占用率

  • 依据/proc/stat文件获取并计算CPU使用率
  • 获取命令:cat /proc/stat | grep -w cpu | awk '{print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10}'
  • 命令返回值:cpu,[user],[nice],[system],[idle],[iowait],[irq],[softirq][stealstolen][guest]
  • 命令返回值释义:

        user:从系统启动开始累计到当前时刻,处于用户态的运行时间,不包含 nice值为负进程

        nice:从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间

        system:从系统启动开始累计到当前时刻,处于核心态的运行时间

        idle:从系统启动开始累计到当前时刻,除IO等待时间以外的其它等待时间

        iowait:从系统启动开始累计到当前时刻,IO等待时间

        irq:从系统启动开始累计到当前时刻,硬中断时间

        softirq:从系统启动开始累计到当前时刻,软中断时间

        stealstolen:在虚拟化环境中运行时,在其他操作系统上花费的时间是多少

        guest:在Linux内核控制下运行客户操作系统的虚拟CPU所花费的时间是多少

  • --CPU总时间计算公式:CPU_TIME=user+system+nice+idle+iowait+irq+softirq
  • --CPU空闲时间:CPU_IDLE=idle
  • --CPU占用率计算公式:采样两个足够短的时间间隔的Cpu快照,得出两个CPU总时间cpu1、cpu2和两个CPU空闲时间idle1、idle2,CPU占用率=100-(idle2-idle1)/(cpu2-cpu1)*100

2、taskset命令 

  • 作用:将某进程任务指定到某个CPU上运行
  • 语法格式:taskset [options] -p [mask] pid
  • 参数选项:

        -a, --all-tasks 操作所有的任务线程
        -p, --pid 操作已存在的pid
        -c, --cpu-list 通过列表显示方式设置CPU(逗号相隔)
        -V, --version 输出版本信息 

3、查看系统内存信息 

语法格式:free [options]

参数选项:

-b:以Byte为单位显示内存使用情况
-k:以KB为单位显示内存使用情况
-m:以MB为单位显示内存使用情况
-g:以GB为单位显示内存使用情况
-h:以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:
    B = bytes
    K = kilos
    M = megas
    G = gigas
    T = teras

-o:不显示缓冲区调节列
-s<间隔秒数>:持续观察内存使用状况
-t:显示内存总和列
-V:显示版本信息

应用示例:

sh-4.2# free -m
              total        used        free      shared  buff/cache   available
Mem:          32105        8401       21728           9        1975       23296
Swap:         65535           0       65535

# Mem(第二行):物理内存描述信息
# Swap(第三行):交换内存描述信息
# total(第二列):系统总的可用物理内存大小
# used(第三列):已被使用的物理内存大小
# free(第四列):还有多少物理内存可用
# shared(第五列):多个进程共享的内存总额;如oracle的共享内存
# buff/cache(第六列):这里是两个内容的描述;buff表示I/O缓存、cache表示高速缓存。
# available(第七列):还可以被应用程序使用的物理内存大小

4、内存压力测试stressapptest 

主要功能:对内存的读写测试,该软件更多的时候测试的是内存控制器和总线接口,而不是存储单元的功能。DDR测试中不可缺少的一项

下载地址:https://github.com/stressapptest/stressapptest

测试命令:stressapptest -s 600 -M 64 -m 8 -C 8 -W -l ./test.log

参数说明:              

    -s:测试时间

    -m:复制线程数  (Memory Copy)

    -i:反转线程数 (Invert Copy)

    -c:CRC check  CRC校验 (Data Check)

    -C:CPU压力线程数

    -M:运行的内存大小,尽可能测试最大的可用存储空间,(设置超过了memfree,就会被kill)

    -l:将日志存储到指定文件中

5、内存检测工具memtester

主要功能:

  • 捕捉内存错误,及长时间处于高位或者低位的内存坏位
  • 支持多项测试,随机值、异或比较、异或运算、乘法、除法、减法
  • 可指定测试内存起始地址、内存大小以及测试次数

下载地址:http://pyropus.ca/software/memtester/ 

测试命令:memtester [-p physaddr] <memory> <runs>

参数说明:

  • -p physaddr:从特定的物理内存地址开始测试内存,以physaddr的偏移量(以十六进制表示)开始,非必选项
  • memory:要测试的内存量,默认以兆字节为单位,也可以选择包括后缀B,K,M或G
  • runs:运行次数

6、nohup命令

主要功能 :不挂断的运行命令,配合&可以让命令在后台运行

测试命令:nohup [command] > /dev/null &

参数说明:

  • command:要执行的命令
  • > /dev/null:是为了将输出重定向到 /dev/null,/dev/null 是一个黑洞,重定向到它的数据都会被扔掉。不加这个前台还是会被占用,无法执行其他操作
  • &:是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出

7、md5sum命令 

主要功能:用于计算文件的md5值

命令格式:md5sum [file]

参数说明:

  • file:要计算的文件

示例:

md5sum /tfcard/test.txt 

 

8、dd命令 

主要功能:可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出

命令格式:dd if=[input] of=[output] bs=[size] count=[num]

参数说明:

  • input:代表输入文件
  • output:代表输出文件
  • size:代表输出块的大小
  • count:代表输出多少个bs大小的块

示例:

1、测试tfcard的写入速度

        time dd if=/dev/zero of=/tfcard/test.txt bs=1M count=1024


2、测试tfcard的读取速度

        time dd if=/tfcard/test.txt of=/dev/null bs=1M


3、读取+写入

        time dd if=/tfcard/test.txt of=/tfcard/test1.txt bs=1M count=1024

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值