hdparm命令使用;关闭硬盘HDDcache;硬盘读写性能测试;

编程

最新需要使用硬盘做一些测试,需要使用到hdparm工具,并进行了解,并进行简要记录;

hdparm、dd、fio、都是很好的硬盘测试软件;通常使用其对硬盘信息做基本了解;

关闭硬盘写Cache用例:

hdparm -W  /dev/sdh # 查看写缓存状态;

hdparm -W 0 /dev/sdh # 关闭Cache,保证数据强一致性;放置断电时数据未落盘;

hdparm -W 1 /dev/sdh # 打开

测试磁盘和磁盘缓存读取速度:

查看磁盘信息:

fdisk -l /dev/sdh

hdparm /dev/sdh
评估磁盘读取速度:
hdparm -t /dev/sdh
评估磁盘缓存读取速度:
hdparm -T /dev/sdh
直接测试硬盘的读性能(绕过内核页缓存):
hdparm -tT --direct /dev/sdh
顺序写测试:
time -p  bash -c "dd if=/dev/urandom of=./dd.log bs=1M count=50000"
随机写测试(使用direct标识,绕过页缓存):
fio -filename=randw-singlethread -fallocate=none -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=libaio -bs=32k -size=1000M -runtime=30s -numjobs=1 -name=hdparm-randwsinglethread

命令使用方法说明:

hdparm -h

hdparm - get/set hard disk parameters - version v9.43, by Mark Lord.

Usage: hdparm [options] [device ...]

Options:

-a Get/set fs readahead

-A Get/set the drive look-ahead flag (0/1)

-b Get/set bus state (0 == off, 1 == on, 2 == tristate)

-B Set Advanced Power Management setting (1-255)

-c Get/set IDE 32-bit IO setting

-C Check drive power mode status

-d Get/set using_dma flag

-D Enable/disable drive defect management

-E Set cd/dvd drive speed

-f Flush buffer cache for device on exit

-F Flush drive write cache

-g Display drive geometry

-h Display terse usage information

-H Read temperature from drive (Hitachi only)

-i Display drive identification

-I Detailed/current information directly from drive

-J Get/set Western DIgital "Idle3" timeout for a WDC "Green" drive (DANGEROUS)

-k Get/set keep_settings_over_reset flag (0/1)

-K Set drive keep_features_over_reset flag (0/1)

-L Set drive doorlock (0/1) (removable harddisks only)

-m Get/set multiple sector count

-M Get/set acoustic management (0-254, 128: quiet, 254: fast)

-n Get/set ignore-write-errors flag (0/1)

-N Get/set max visible number of sectors (HPA) (VERY DANGEROUS)

-p Set PIO mode on IDE interface chipset (0,1,2,3,4,...)

-P Set drive prefetch count

-q Change next setting quietly

-Q Get/set DMA queue_depth (if supported)

-r Get/set device readonly flag (DANGEROUS to set)

-R Get/set device write-read-verify flag

-s Set power-up in standby flag (0/1) (DANGEROUS)

-S Set standby (spindown) timeout

-t Perform device read timings

-T Perform cache read timings

-u Get/set unmaskirq flag (0/1)

-U Obsolete

-v Use defaults; same as -acdgkmur for IDE drives

-V Display program version and exit immediately

-w Perform device reset (DANGEROUS)

-W Get/set drive write-caching flag (0/1)

-x Obsolete

-X Set IDE xfer mode (DANGEROUS)

-y Put drive in standby mode

-Y Put drive to sleep

-z Re-read partition table

-Z Disable Seagate auto-powersaving mode

--dco-freeze Freeze/lock current device configuration until next power cycle

--dco-identify Read/dump device configuration identify data

--dco-restore Reset device configuration back to factory defaults

--direct Use O_DIRECT to bypass page cache for timings

--drq-hsm-error Crash system with a "stuck DRQ" error (VERY DANGEROUS)

--fallocate Create a file without writing data to disk

--fibmap Show device extents (and fragmentation) for a file

--fwdownload Download firmware file to drive (EXTREMELY DANGEROUS)

--fwdownload-mode3 Download firmware using min-size segments (EXTREMELY DANGEROUS)

--fwdownload-mode3-max Download firmware using max-size segments (EXTREMELY DANGEROUS)

--fwdownload-mode7 Download firmware using a single segment (EXTREMELY DANGEROUS)

--idle-immediate Idle drive immediately

--idle-unload Idle immediately and unload heads

--Istdin Read identify data from stdin as ASCII hex

--Istdout Write identify data to stdout as ASCII hex

--make-bad-sector Deliberately corrupt a sector directly on the media (VERY DANGEROUS)

--offset use with -t, to begin timings at given offset (in GiB) from start of drive

--prefer-ata12 Use 12-byte (instead of 16-byte) SAT commands when possible

--read-sector Read and dump (in hex) a sector directly from the media

--repair-sector Alias for the --write-sector option (VERY DANGEROUS)

--security-help Display help for ATA security commands

--trim-sector-ranges Tell SSD firmware to discard unneeded data sectors: lba:count ..

--trim-sector-ranges-stdin Same as above, but reads lba:count pairs from stdin

--verbose Display extra diagnostics from some commands

--write-sector Repair/overwrite a (possibly bad) sector directly on the media (VERY DANGEROUS)

保持更新,更多内容请关注cnblogs.com/xuyaowen; 

相关参考:https://www.cnblogs.com/xuyaowen/p/fio-usage.html 

以上是 hdparm命令使用;关闭硬盘HDDcache;硬盘读写性能测试; 的全部内容, 来源链接: utcz.com/z/515901.html

回到顶部