Ito ang command regorge na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
spew - sinusukat ang pagganap ng I/O at/o bumubuo ng I/O load
SINOPSIS
magpatalsik --write|--read|--read-after-write [OPTION] ... TRANSFER_SIZE[kKmMgG] FILE
DESCRIPTION
Isang I/O performance measurement at load generation tool. Nagsusulat at/o nagbabasa na nabuo
data papunta o mula sa isang character na device, block device, o regular na file.
-B, --max-buffer-size=BUFFER_SIZE
bawat basahin(2) /magsulat(2) ang tawag ay gumagamit ng maximum na buffer ng laki na BUFFER_SIZE.
-b, --min-buffer-size=BUFFER_SIZE
bawat basahin(2) /magsulat(2) ang tawag ay gumagamit ng pinakamababang buffer na may sukat na BUFFER_SIZE.
-c, --tuloy-pagkatapos-error
Magpatuloy pagkatapos ng mga error sa integridad ng data.
-d, --direkta
Gumamit ng direktang I/O. Dapat lang gamitin sa block device file. Hindi lahat ay gumagana
sinusuportahan ng mga system ang direktang I/O
-g, --bumuo-load
Katumbas ng: -v -t -P -p walang pili -i 0.
-i, --mga pag-ulit=COUNT
Sumulat/magbasa ng data nang COUNT beses. Kung ang bilang ay 0, umuulit magpakailanman.
-l, --logfile=LOGFILE
Magpadala ng mga mensahe sa log sa LOGFILE.
--walang pag-usad
Huwag ipakita ang pag-unlad (default).
--no-rcfiles
Huwag gumamit ng karaniwang rcfiles.
-q, --walang mga istatistika
Huwag mag-output ng mga istatistika.
--hindi-tui
Huwag gumamit ng TUI interface.
-o, --offset=Offset
Subukang OFFSET bago simulan ang I/O.
-P, --pag-unlad
Ipakita ang pag-unlad.
-p, --pattern=PATTERN
Gumamit ng pattern ng data PATTERN kapag nagbabasa o nagsusulat ng data.
-r, --random
Basahin/Isulat ang mga buffer sa mga random na offset.
--hilaw Isang alias para sa --read-after-write.
--rcfile=RCFILE
Basahin ang mga opsyon sa command-line mula sa RCFILE.
--basahin Basahin ang petsa mula sa FILE.
--read-after-write
Basahin muli ang data pagkatapos sumulat sa FILE.
-S, --binhi=SEED
Gumamit ng SEED para sa random number seed.
-s, --sync
Gumamit ng kasabay na I/O.
--mga istatistika
Mga istatistika ng output (default).
-t, --tui
Gumamit ng nakabatay sa sumpa, terminal na user interface.
-u, --mga yunit=UNITS
Ipakita ang rate ng paglipat sa mga unit ng UNITS.
--gamit
Ipakita ang maikling mensahe ng paggamit at lumabas.
-V, --bersyon
Impormasyon sa bersyon ng output at paglabas.
-v, --detalyadong-statistika
I-output ang mga detalyadong istatistika.
--sumulat
Sumulat ng data sa FILE.
-?, - Tumulong
Ipakita ang tulong na ito at lumabas.
FILE Regular o device file kung saan susulatan ng data.
LOGFILE
Path sa isang file na ginagamit para sa pag-log.
MAX_BUFFER_SIZE
Minimum na laki ng buffer na ginamit sa bawat isa basahin(2) /magsulat(2) tawag (default ay MIN_BUFFER_SIZE
bytes). MAX_BUFFER_SIZE. Dapat ay isang even multiple ng 512 bytes at maaaring maging
tinukoy sa bytes, kibibytes(k), kilobytes(K), mebibytes(m), megabytes(M),
gibibytes(g), gigabytes(G). tebibytes(t), o terabytes(T). MAX_BUFFER_SIZE
default sa MIN_BUFFER_SIZE. Kung MAX_BUFFER_SIZE > MIN_BUFFER_SIZE, mga random na buffer
ang mga sukat sa pagitan ng dalawang limitasyon ay ginagamit. Ang MAX_BUFFER_SIZE ay dapat na pantay na maramihan ng
MIN_BUFFER_SIZE.
MIN_BUFFER_SIZE
Minimum na laki ng buffer na ginamit sa bawat isa basahin(2) /magsulat(2) tawag (ang default ay 512 bytes).
MIN_BUFFER_SIZE. Dapat ay isang even multiple ng 512 bytes at maaaring tukuyin sa
byte, kibibytes(k), kilobytes(K), mebibytes(m), megabytes(M), gibibytes(g),
gigabytes(G). tebibytes(t), o terabytes(T).
OFFSET Posisyon na hahanapin sa file bago simulan ang I/O (default ay 0). OFFSET dapat
isang pantay na maramihang 512 byte at maaaring tukuyin sa mga byte, kibibytes(k),
kilobytes(K), mebibytes(m), megabytes(M), gibibytes(g), gigabytes(G).
tebibytes(t), o terabytes(T).
PATTERN
Pattern ng data na ginagamit kapag nagsusulat/nagbabasa ng data. Ang mga available na pattern ay: wala, mga zero,
ones, alt, random, mga numero, at "#" (kung saan ang "#" ay isang numero sa pagitan ng 0-255). Ang
ang default na pattern ay "wala".
RCFILE Magbasa ng mga karagdagang opsyon sa command-line mula sa RCFILE. Iba pang mga opsyon sa
I-o-override ng command-line ang mga opsyon sa RCFILE.
SEED Ginamit para i-seed ang random number generator Dapat na >= 1 at <= 2^32.
TRANSFER_SIZE
Kabuuang bilang ng mga byte na ililipat (dapat ay pantay na maramihan ng parehong MIN_BUFFER_SIZE
at MAX_BUFFER)SIZE). Maaaring tukuyin ang TRANSFER_SIZE sa bytes, kilobytes,
megabytes, o gigabytes.
UNITS Kibibytes(k), kilobytes(K), mebibytes(m), megabytes(M), gibibytes(g), gigabytes(G).
tebibytes(t), o terabytes(T).
HALIMBAWA
magpatalsik --sumulat -b 16k 1m /tmp/bigfile
or
magpatalsik -b 16k 1m /tmp/bigfile
Sumulat ng 1 mebibyte (1 mebibyte = 1024*1024 bytes) gamit ang 16 kibibyte (1 kibibyte = 1024
bytes) mga kahilingan sa file /tmp/bigfile gamit ang default na pattern (random). Ipinapakita ang
write transfer rate sa kibibytes bawat segundo at ang write transfer time sa mga segundo.
magpatalsik --sumulat -u m -i 10 -b 1k 256k / Dev / sda1
or
magpatalsik -u m -i 10 -b 1k 256k / Dev / sda1
Sumulat ng 256 kibibytes gamit ang 1 kibibyte na kahilingan sa block device file / Dev / sda1 10 beses
gamit ang default na pattern (random). Ang pag-ulit at pinagsama-samang write transfer rate ay
ipinapakita sa mebibytes bawat segundo at ang pag-ulit at pinagsama-samang mga oras ng paglipat ng pagsulat
ay ipinapakita sa ilang segundo.
magpatalsik --hilaw -d -o 1m -b 16m 1g /tmp/bigfile
or
sagana -s -o 1m -b 16m 1g /tmp/bigfile
Sumulat ng 1 gibibyte (1 gibibyte = 1024*1024*1024 bytes) simula sa isang offset na 1 mebibyte
gamit ang 16 mebibyte na kahilingan sa file /tmp/bigfile gamit ang default na pattern (random).
Ang data ay nakasulat nang sabay-sabay at na-flush sa pagsasara ng file. Pagkatapos ay basahin sa parehong data
gamit ang parehong laki ng kahilingan at offset. Sinusuri ang data upang matiyak na nabasa ang data
sa mga tugma sa data na binasa. Ang mga rate ng paglipat ng pagsulat at pagbasa ay ipinapakita sa
kibibite/segundo. Ang mga oras ng paglilipat ng pagbasa at pagsulat ay ipinapakita sa ilang segundo.
magpatalsik --basahin -i 0 -u M -p mga zero -b 512 1m /dev/zero
or
bangin -i 0 -u M -p mga zero -b 512 1m /dev/zero
Magbasa ng 1 mebibyte ng data gamit ang 512 byte na kahilingan mula sa file /dev/zero isang walang katapusang bilang
ng mga beses gamit ang pattern ng mga zero (huwag suriin ang data). Ang pag-ulit at pinagsama-samang
Ang read transfer rate ay ipinapakita sa megabytes (1 megabyte = 1,000,000 bytes) bawat segundo
at ang pag-ulit at pinagsama-samang read transfer na mga oras ay ipinapakita sa ilang segundo.
magpatalsik --hilaw -g -r -b 1k -B 256K 1t /dev/md1
or
sagana -g -r -b 1k -B 256K 1t /dev/md1
Sumulat ng 1 tebibyte (1 tebibyte = 1024*1024*1024*1024 bytes) gamit ang 1-256 kibibyte na kahilingan sa
ang block device /dev/md1 gamit ang random na pattern. Ang mga random na paghahanap ay isinagawa bago
bawat paglipat, ngunit ang bawat bloke sa pagitan ng simula at pagtatapos ng data ay nakasulat nang eksakto
minsan. Ang mga laki ng kahilingan ay pinili nang random. Pagkatapos ay basahin sa parehong data gamit ang pareho
humiling ng mga laki at naghahanap sa parehong pagkakasunud-sunod. Ulitin ang pagkakasunud-sunod sa itaas nang walang katapusan
ilang beses hanggang sa sabihing huminto (sa pamamagitan ng signal o TUI command).
Sinusuri ang data upang matiyak na ang data na nabasa ay tumutugma sa data na nabasa. Isang sumpa-
ang nakabatay sa TUI ay ginagamit upang ipakita ang pag-ulit at pinagsama-samang mga rate ng paglipat, mga oras ng paglipat, at
inilipat ang mga byte. Ipakita ang verbose statistics pagkatapos huminto.
ALGORITHMS
Ang sumusunod na algorithm ay ginagamit upang matukoy ang blocksize kapag MAX_BUFFER_SIZE >
MIN_BUFFER_SIZE:
Hanapin ang pinakamalaking blocksize na may kapangyarihan na 2 at >= MAX_BUFFER_SIZE. Tawagan ito
maxbuffersize. Hanapin ang pinakamaliit na buffersize na isang kapangyarihan ng 2 at ay >=
MIN_BUFFER_SIZE. Tawagan itong minbuffersize. Chunksize = maxbuffersize * (pagkakaiba sa
bilang ng mga bit sa pagitan ng min at maxbuffersize + 1). Ang bilang ng mga tipak ay
TRANSFER_SIZE/chunksize. Tawagan itong numchunks. Magkakaroon ng numchunks number ng
read/writes na may sukat na maxbuffersize, 2 * numchunks bilang ng read/writes na
ng laki maxbuffersize/2, 4 * numchunks bilang ng read/writes na may sukat
maxbuffersize/4, at iba pa hanggang sa maabot ang minbuffersize. MIN_BUFFER_SIZE ang ginagamit para sa
anumang natitirang paglilipat kung ang TRANSFER_SIZE ay hindi pantay na mahahati sa chunksize.
Halimbawa: Paggamit ng MIN_BLOCK_SIZE na 1k, isang MAX_BLOCK_SIZE na 8k at isang TRANSFER_SIZE na 264k
mga resulta sa 8 8k read/writes, 16 4k read/write, 32 2k read/writes, at 64 + 8 1k
nagbabasa/nagsusulat.
MGA pattern
Gamitin ang mga sumusunod od(1) utos upang suriin ang spew nabuong mga file kung saan ang isang data integridad
naganap ang problema:
od -A d --format=d8 --width=32
Gamitin ang regorge online gamit ang mga serbisyo ng onworks.net