存储常用的工具指令

1.      存储常用的工具指令

1.1.     dd

  进行数据的拷贝,主要的使用是

  dd if=/dev/zero of=/dev/sda bs=512KB count=10

1.2.     iostate

  查看当前io的的速率,一般查看速率前面的两秒是不准确的,每间隔3秒或者5秒可以更好的查看io的平均速率

  例如:iostate -t 3 -m

  以3秒的间隔,以m为单位进行io速率的显示

1.3.     iotop

  有时候系统中没有iostate指令,可以使用iotop指令代替查看当前的io速率

1.4.     devmem

  devmem的方式是提供给驱动开发人员,在应用层能够侦测内存地址中的数据变化,以此来检测驱动中对内存或者相关配置的正确性验证。

  Usage: devmem ADDRESS [WIDTH [VALUE]]

  读取:在地址0x97000000读取32bit值(WIDTH默认等于32, 可选值为[8, 16, 32, 64])

  /dev # devmem 0x97000000

  0x11111111

  读取:在地址0x97000000读取16bit值

  /dev # devmem 0x97000000 16

  0x1111

  写入:在地址0x97000000写入32bit值0x7777ABCD

  /dev # devmem 0x97000000 32 0x7777ABCD

  /dev # devmem 0x97000000

  0x7777ABCD

  注意:如果/dev下没有mem这个node,会出现错误:

  /dev # devmem 0x97000000

  devmem: can’t open ‘/dev/mem’: No such file or directory

  这时可以在Host系统中手动创建一个(例如在NFS root filesystem模式):

  host@host-laptop:~/embedded/tftpboot/nfsroot/dev$ sudo mknod mem -m666 c 1 1

  注意这里的权限是666,允许任何人任意读写,可以很好的配合程序debug。

  /dev # devmem 0x97000000

  0x7777ABCD

1.5.     lslbk

  列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。

  使用过程中,直接输入lsblk即可

1.6.     lsscsi

  查看scsi设备信息,使用方法有很多种

1.7.     lspci

  查看当前的pci设别信息

1.8.     lscpu

  查看cpu的信息,可以看当前的cpu的厂商是什么

1.9.     lsusb

  使用不多,可以查看当前的usb设备信息

1.10. fio

  进行设别IO压力测试的很好的工具,目前测试部经常使用给的工具

  详细的解释看博客:https://www.cnblogs.com/raykuan/p/6914748.html

常用的参数:

  filename=/dev/emcpowerb 支持文件系统或者裸设备,-filename=/dev/sda2或-filename=/dev/sdb
  direct=1                 测试过程绕过机器自带的buffer,使测试结果更真实
  rw=randwread             测试随机读的I/O
  rw=randwrite             测试随机写的I/O
  rw=randrw                测试随机混合写和读的I/O
  rw=read                  测试顺序读的I/O
  rw=write                 测试顺序写的I/O
  rw=rw                    测试顺序混合写和读的I/O
  bs=4k                    单次io的块文件大小为4k
  bsrange=512-2048         同上,提定数据块的大小范围
  size=5g                  本次的测试文件大小为5g,以每次4k的io进行测试
  numjobs=30               本次的测试线程为30
  runtime=1000             测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止
  ioengine=psync           io引擎使用pync方式,如果要使用libaio引擎,需要yum install libaio-devel包
  rwmixwrite=30            在混合读写的模式下,写占30%
  group_reporting          关于显示结果的,汇总每个进程的信息
  此外
  lockmem=1g               只使用1g内存进行测试
  zero_buffers             用0初始化系统buffer
  nrfiles=8                每个进程生成文件的数量

常用的例子:

  fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -    name=rand_100read_4k

  100%随机,100%写, 4K

  fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=rand_100write_4k

  100%顺序,100%读 ,4K

  fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=sqe_100read_4k

100%顺序,100%写 ,4K

  fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=sqe_100write_4k

  100%随机,70%读,30%写 4K

  fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=randrw_70read_4k

posted @ 2022-08-28 23:05  free-锻炼身体  阅读(155)  评论(0编辑  收藏  举报