Aceasta este comanda regorge care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
spew - măsoară performanța I/O și/sau generează încărcare I/O
REZUMAT
scuipa --scrie|--citește|--citește-după-scriere [OPȚIUNE] ... TRANSFER_SIZE[kKmMgG] FILE
DESCRIERE
Un instrument de măsurare a performanței I/O și de generare a sarcinii. Scrie și/sau citește generat
date către sau de la un dispozitiv cu caractere, un dispozitiv de blocare sau un fișier obișnuit.
-B, --max-buffer-size=DIMENSIUNEA MEMORIEI TAMPON
Fiecare citit(2) /scrie(2) apelul utilizează un buffer maxim de dimensiunea BUFFER_SIZE.
-b, --min-buffer-size=DIMENSIUNEA MEMORIEI TAMPON
Fiecare citit(2) /scrie(2) apelul utilizează un buffer minim de dimensiunea BUFFER_SIZE.
-c, --continuare-după-eroare
Continuați după erori de integritate a datelor.
-d, --direct
Utilizați I/O directă. Ar trebui să fie utilizat numai pe fișierele blocate ale dispozitivului. Nu toate funcționează
sistemele suportă I/O directă
-g, --generare-sarcină
Echivalentă cu: -v -t -P -p aleator -i 0.
-i, --iterații=COUNT
Scrieți/citește datele de COUNT ori. Dacă numărul este 0, se repetă pentru totdeauna.
-l, --fișier jurnal=FIȘIER JURNAL
Trimiteți mesaje de jurnal către LOGFILE.
--nici un progres
Nu afișați progresul (implicit).
--no-rcfiles
Nu utilizați fișiere rc standard.
-q, --fără-statistici
Nu scoateți statistici.
--no-tui
Nu utilizați interfața TUI.
-o, --decalaj=OFFSET
Căutați OFFSET înainte de a porni I/O.
-P, --progresa
Arată progresul.
-p, --model=MODEL
Utilizați modelul de date PATTERN când citiți sau scrieți date.
-r, --Aleatoriu
Citire/Scrie buffer-uri la offset-uri aleatorii.
--brut Un alias pentru --citire-după-scriere.
--rcfile=RCFILE
Citiți opțiunile liniei de comandă din RCFILE.
--citit Citiți data din FIȘIER.
--citire-după-scriere
Citiți înapoi datele după ce ați scris în FILE.
-S, --samanta=SEED
Utilizați SEED pentru semințe cu numere aleatorii.
-s, --sincronizare
Utilizați I/O sincron.
--statistici
Statistici de ieșire (implicit).
-t, --tui
Utilizați interfața utilizator terminală bazată pe blesteme.
-u, --unități=UNITĂȚI
Afișați rata de transfer în UNITS de unități.
--utilizare
Afișați un mesaj scurt de utilizare și ieșiți.
-V, --versiune
Ieșiți informații despre versiune și ieșiți.
-v, --statistici-detaliate
Produceți statistici detaliate.
--scrie
Scrieți datele în FILE.
-?, --Ajutor
Arată acest ajutor și ieși.
FILE Fișier obișnuit sau dispozitiv în care să scrieți date.
FIȘIER JURNAL
Calea către un fișier folosit pentru înregistrare.
MAX_BUFFER_SIZE
Dimensiunea minimă a tamponului utilizată în fiecare citit(2) /scrie(2) apel (implicit este MIN_BUFFER_SIZE
octeți). MAX_BUFFER_SIZE. Trebuie să fie un multiplu par de 512 octeți și poate fi
specificat în octeți, kibibytes(k), kilobytes(K), mebibytes(m), megaocteți (M),
gibibytes(g), gigabytes(G). tebibytes(t) sau terabytes(T). MAX_BUFFER_SIZE
implicit la MIN_BUFFER_SIZE. Dacă MAX_BUFFER_SIZE > MIN_BUFFER_SIZE, buffer-uri aleatorii
se folosesc dimensiuni între cele două limite. MAX_BUFFER_SIZE trebuie să fie un multiplu par al
MIN_BUFFER_SIZE.
MIN_BUFFER_SIZE
Dimensiunea minimă a tamponului utilizată în fiecare citit(2) /scrie(2) apel (implicit este de 512 octeți).
MIN_BUFFER_SIZE. Trebuie să fie un multiplu par de 512 de octeți și poate fi specificat în
octeți, kibibytes(k), kilobytes(K), mebibytes(m), megaocteți (M), gibiocteți (g),
gigaocteți (G). tebibytes(t) sau terabytes(T).
OFFSET Poziția de căutat în fișier înainte de a începe I/O (implicit este 0). OFFSET trebuie să fie
un multiplu par de 512 octeți și poate fi specificat în octeți, kibibytes(k),
kiloocteți (K), mebibytes(m), megabytes (M), gibibytes (g), gigabytes (G).
tebibytes(t) sau terabytes(T).
MODEL
Model de date utilizat la scrierea/citirea datelor. Modelele disponibile sunt: niciunul, zerourile,
ones, alt, aleatoriu, numere și „#” (unde „#” este un număr între 0-255). The
modelul implicit este „niciunul”.
RCFILE Citiți opțiuni suplimentare de linie de comandă din RCFILE. Alte opțiuni pe
linia de comandă va suprascrie opțiunile din RCFILE.
SEED Folosit pentru a genera generatorul de numere aleatoare Trebuie să fie >= 1 și <= 2^32.
TRANSFER_SIZE
Numărul total de octeți de transferat (trebuie să fie un multiplu par al ambelor MIN_BUFFER_SIZE
și MAX_BUFFER)SIZE). TRANSFER_SIZE poate fi specificat în bytes, kilobytes,
megaocteți sau gigaocteți.
UNITATE Kibibytes(k), kilobytes(K), mebibytes(m), megabytes (M), gibibytes (g), gigabytes (G).
tebibytes(t) sau terabytes(T).
EXEMPLE
scuipa --scrie -b 16k 1m /tmp/bigfile
or
scuipa -b 16k 1m /tmp/bigfile
Scrie 1 mebibyte (1 mebibyte = 1024*1024 bytes) folosind 16 kibibyte (1 kibibyte = 1024
octeți) solicitări către fișier /tmp/bigfile folosind modelul implicit (aleatoriu). Afișează
rata de transfer de scriere în kibibytes pe secundă și timpul de transfer de scriere în secunde.
scuipa --scrie -u m -i 10 -b 1k 256k / dev / sda1
or
scuipa -u m -i 10 -b 1k 256k / dev / sda1
Scrie 256 kibibyte folosind cereri de 1 kibibyte în fișierul dispozitivului de blocare / dev / sda1 10 ori
folosind modelul implicit (aleatoriu). Ratele de transfer de iterație și scriere cumulative sunt
afișat în mebibytes pe secundă și timpii de transfer de iterație și scriere cumulați
sunt afișate în secunde.
scuipa --brut -d -o 1m -b 16m 1g /tmp/bigfile
or
debordant -s -o 1m -b 16m 1g /tmp/bigfile
Scrieți 1 gibibyte (1 gibibyte = 1024*1024*1024 octeți) începând cu un offset de 1 mebibyte
folosind cereri de 16 mebibyte la fișier /tmp/bigfile folosind modelul implicit (aleatoriu).
Datele sunt scrise sincron și spălate la închiderea fișierului. Apoi citiți aceleași date
folosind aceeași dimensiune și compensare a cererii. Datele sunt verificate pentru a se asigura că datele sunt citite
în potriviri datele citite. Ratele de transfer de scriere și citire sunt afișate în
kibibytes/secundă. Timpii de transfer de citire și scriere sunt afișați în secunde.
scuipa --citit -i 0 -u M -p zerouri -b 512 1m /dev/zero
or
gât -i 0 -u M -p zerouri -b 512 1m /dev/zero
Citiți 1 mebibyte de date folosind cereri de 512 octeți din fișier /dev/zero un număr infinit
de ori folosind modelul cu zerouri (nu verificați datele). Iterația și cumulativ
ratele de transfer de citire sunt afișate în megaocteți (1 megaoctet = 1,000,000 de octeți) pe secundă
iar timpii de transfer de citire și de iterație cumulați sunt afișați în secunde.
scuipa --brut -g -r -b 1k -B 256 K 1t /dev/md1
or
debordant -g -r -b 1k -B 256 K 1t /dev/md1
Scrieți 1 tebibyte (1 tebibyte = 1024*1024*1024*1024 octeți) folosind cereri de 1-256 kibibyte pentru
dispozitivul de blocare /dev/md1 folosind modelul aleatoriu. Căutările aleatorii sunt efectuate înainte
fiecare transfer, dar fiecare bloc între începutul și sfârșitul datelor este scris exact
o singura data. Dimensiunile cererii sunt alese aleatoriu. Apoi citiți aceleași date folosind aceleași
cereri de dimensiuni și căutări în aceeași succesiune. Repetați secvența de mai sus la infinit
de câte ori până când i se spune să renunți (prin semnal sau comandă TUI).
Datele sunt verificate pentru a se asigura că datele citite se potrivesc cu datele citite. Un blestem-
TUI bazat este folosit pentru a afișa ratele de transfer de iterație și cumulate, timpii de transfer și
octeți transferați. Afișează statistici detaliate după renunțare.
ALGORITMI
Următorul algoritm este utilizat pentru a determina dimensiunea blocului când MAX_BUFFER_SIZE >
MIN_BUFFER_SIZE:
Găsiți cea mai mare dimensiune de bloc care este o putere de 2 și este >= MAX_BUFFER_SIZE. Sună asta
maxbuffersize. Găsiți cea mai mică dimensiune a tamponului care este o putere de 2 și este >=
MIN_BUFFER_SIZE. Apelați acest minbuffersize. Chunksiize = maxbuffersize * (diferența în
numărul de biți între min și maxbuffersize + 1). Numărul de bucăți este
TRANSFER_SIZE/dimensiune. Numi asta numchunks. Va fi un număr de numchunks
citire/scrieri care au dimensiunea maxbuffersize, 2 * numchunks numărul de citiri/scrieri care sunt
de dimensiune maxbuffersize/2, 4 * numchunks număr de citire/scriere care sunt de dimensiune
maxbuffersize/4 și așa mai departe până când se atinge minbuffersize. MIN_BUFFER_SIZE este folosit pentru
orice transferuri rămase dacă TRANSFER_SIZE nu este divizibil uniform la dimensiunea bucăților.
Exemplu: folosind un MIN_BLOCK_SIZE de 1k, un MAX_BLOCK_SIZE de 8k și un TRANSFER_SIZE de 264k
rezultă 8 8k citire/scriere, 16 4k citire/scriere, 32 2k citire/scriere și 64 + 8 1k
citeste/scrie.
MODELELOR
Foloseste urmatoarele od(1) comandă pentru a examina fișierele generate spew în cazul în care integritatea datelor
problema a aparut:
od -A d --format=d8 --width=32
Utilizați regorge online folosind serviciile onworks.net