ubuntu 14.04 - Stress-ng: RAM testing commands -


stress-ng: can test ram using stress-ng? commands used test ram on mips 32 device?

there many memory based stressors in stress-ng:

stress-ng --class memory? class 'memory' stressors: atomic bsearch context full heapsort hsearch  lockbus lsearch malloc matrix membarrier memcpy memfd memrate memthrash mergesort mincore null numa oom-pipe pipe qsort radixsort remap  resources rmap stack stackmmap str stream tlb-shootdown tmpfs tsearch  vm vm-rw wcs 0 zlib 

alternatively, 1 can use vm based stressors too:

stress-ng --class vm? class 'vm' stressors: bigheap brk madvise malloc mlock mmap mmapfork mmapmany mremap msync shm shm-sysv stack stackmmap tmpfs userfaultfd vm vm-rw vm-splice 

i suggest looking @ vm stressor first contains large range of stressor methods exercise memory patterns , can possibly find broken memory:

   -m n, --vm n           start n workers continuously calling mmap(2)/munmap(2) , writ‐           ing allocated memory. note can cause systems           trip kernel oom killer on linux systems if not enough physi‐           cal memory , swap not available.     --vm-bytes n           mmap  n bytes per vm worker, default 256mb. 1 can spec‐           ify size % of total  available  memory  or  in  units  of           bytes, kbytes, mbytes , gbytes using suffix b, k, m or g.     --vm-ops n           stop vm workers after n bogo operations.     --vm-hang n           sleep  n  seconds  before  unmapping memory, default 0           seconds.  specifying 0 infinite wait.     --vm-keep           not continually unmap , map memory, keep on re-writing           it.     --vm-locked           lock   pages  of   mapped  region memory using mmap           map_locked (since linux 2.5.37).    similar   locking           memory described in mlock(2).     --vm-madvise advice           specify   madvise  'advice' option used on memory mapped           regions used in vm stressor.  non-linux  systems             have   'normal' madvise advice, linux systems support 'dont‐           need', 'hugepage', 'mergeable' , 'nohugepage',  'normal',  'ran‐           dom', 'sequential', 'unmergeable' , 'willneed' advice. if           option not used default  pick  random  madvise           advice each mmap call. see madvise(2) more details.     --vm-method m           specify   vm stress method. default, stress methods           exercised sequentially, 1  can  specify   1           method    used if required.  each of vm workers have 3           phases:            1. initialised. anonymously memory mapped region set           known pattern.            2.  exercised.  memory   modified in known predictable way.           vm workers alter memory sequentially,   use  small  or           large strides step along memory.            3.  checked. modified memory checked see if matches           expected result.            vm methods containing 'prime' in name have stride of           largest prime less 2^64, allowing them thoroughly           step through memory , touch locations once while           doing  without  touching  memory  cells next each other.           strategy exercises cache , page non-locality.            since memory being exercised virtually mapped  there            no  guarantee  of  touching page addresses in particular           physical order.  these workers should not used  test              system's memory working correctly either, use tools           such memtest86 instead.            vm stress methods intended exercise memory in ways           possibly find memory issues , try force thermal errors.            available vm stress methods described follows:            method                  description                               iterate  on  vm stress methods                                   listed below.           flip                    sequentially  work  through   memory   8                                   times,  each time 1 bit in memory                                   flipped  (inverted).    effec‐                                   tively invert each byte in 8 passes.           galpat-0                galloping  pattern  zeros. sets                                   bits 0 , flips 1 in 4096  bits                                    1.   checks see if 1s                                   pulled down 0 neighbours                                   or of neighbours have been pulled                                   1.           galpat-1                galloping pattern ones.   sets                                    bits  1 , flips 1 in 4096 bits                                   0. checks see  if   0s                                    pulled  1 neighbours                                   or of neighbours  have  been  pulled                                   down 0.           gray                    fill   memory   sequential gray                                   codes (these change 1 bit @ time                                   between  adjacent  bytes) , check                                   if set correctly.           incdec                  work sequentially through memory  twice,                                   first pass increments each byte                                   specific  value  ,   second   pass                                   decrements  each byte origi‐                                   nal start value. increment/decrement                                   value  changes on each invocation of                                   stressor.           inc-nybble              initialise memory set  value  (that                                   changes on each invocation of stres‐                                   sor) , sequentially work  through                                   each byte incrementing bottom 4 bits                                   1 , top 4 bits 15.           rand-set                sequentially work through memory  in  64                                   bit chunks setting bytes in chunk                                   same 8 bit random value.  random                                   value changes on each chunk.  check                                   values have not changed.           rand-sum                sequentially set  memory   random                                   values  ,   summate number of                                   bits have changed original                                   set values.           read64                  sequentially  read  memory using 32 x 64                                   bit  reads  per  bogo  loop.  each  loop                                   equates   1  bogo  operation.                                    exercises raw memory reads.           ror                     fill memory  random  pattern  ,                                   sequentially rotate 64 bits of mem‐                                   ory right 1  bit,   check                                    final load/rotate/stored values.           swap                    fill  memory in 64 byte chunks ran‐                                   dom patterns. swap  each  64  chunk                                     randomly chosen chunk. finally,                                   reverse swap put chunks                                    original place , check if                                   data correct. exercises adjacent                                   , random memory load/stores.           move-inv                sequentially fill memory 64 bits of mem‐                                   ory @ time  random  values,  ,                                    check  if   memory set cor‐                                   rectly.  next, sequentially invert  each                                   64  bit  pattern  , again check if                                   memory set expected.           modulo-x                fill memory  on  23  iterations.  each                                   iteration  starts 1 byte further along                                   start of memory  ,  steps                                   along   in  23  byte  strides.  in  each                                   stride, first byte set  ran‐                                   dom  pattern , other bytes set                                   inverse.  checks  see  if                                    first  byte  contains  expected                                   random  pattern.   exercises  cache                                   store/reads  seeing if neigh‐                                   bouring cells influence each other.            prime-0                 iterate 8 times stepping through mem‐                                   ory in large prime strides clearing                                   on bit @  time  in  every  byte.                                   check see if bits set                                   zero.           prime-1                 iterate 8 times stepping through mem‐                                   ory  in large prime strides setting                                   on bit @  time  in  every  byte.                                   check see if bits set                                   one.           prime-gray-0            first step through memory in  large                                   prime   strides  clearing   on  bit                                   (based on gray code)  in  every  byte.                                   next,  repeat clear other 7                                   bits. check see if bits                                    set zero.           prime-gray-1            first  step through memory in large                                   prime strides setting on bit (based                                   on   gray  code)  in every byte. next,                                   repeat set  other  7  bits.                                   check see if bits set                                   one.           rowhammer               try force memory corruption using                                   rowhammer  memory stressor. fetches                                   2 32  bit  integers   memory  ,                                   forces     cache   flush  on   2                                   addresses multiple times. has  been                                   known   force  bit  flipping  on                                   hardware,    lower  fre‐                                   quency memory refresh cycles.           walk-0d                  each  byte  in memory, walk through                                   each data line setting them low  (and                                    others set high) , check                                   written value  expected.                                    checks if data lines stuck.           walk-1d                  each  byte  in memory, walk through                                   each data line setting them high (and                                    others  set low) , check                                   written value  expected.                                    checks if data lines stuck.           walk-0a                 in     given  memory  mapping,  work                                   through   range  of  specially  chosen                                   addresses  working through address lines                                   see if address  lines   stuck                                   low.  works best physical mem‐                                   ory  addressing,   however,   exercising                                   these  virtual  addresses has value                                   too.           walk-1a                 in   given  memory   mapping,   work                                   through   range  of  specially  chosen                                   addresses working through address  lines                                    see  if  address lines stuck                                   high. works best physical mem‐                                   ory   addressing,   however,  exercising                                   these virtual addresses has   value                                   too.           write64                 sequentially  write memory using 32 x 64                                   bit writes  per  bogo  loop.  each  loop                                   equates   1  bogo  operation.                                    exercises raw memory writes.  note                                    memory writes not checked @ end                                   of each test iteration.           zero-one                set memory bits   0  ,                                    check  if   bits not zero. next,                                   set memory bits 1 , check                                   if bits not one.     --vm-populate           populate  (prefault)  page  tables memory mappings;           can stress swapping.  available  on  systems   support           map_populate (since linux 2.5.46). 

so run 1 vm stressor uses 75% of memory using vm stressors verification 10 minutes verbose mode enabled, use:

stress-ng --vm 1 --vm-bytes 75% --vm-method --verify -t 10m -v 

Comments

Popular posts from this blog

node.js - Node js - Trying to send POST request, but it is not loading javascript content -

javascript - Replicate keyboard event with html button -

javascript - Web audio api 5.1 surround example not working in firefox -