İngilizceFransızcaİspanyolca

OnWorks favicon'u

fio - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında fio çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi öykünücüsü veya MAC OS çevrimiçi öykünücüsü gibi birden çok ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen komut fio'dur.

Program:

ADI


fio - esnek G/Ç test cihazı

SİNOPSİS


fio [seçenekleri] [iş dosyası] ...

TANIM


fio belirli bir türde işlem yapan bir dizi iş parçacığı veya süreç oluşturacak bir araçtır.
Kullanıcı tarafından belirtilen G/Ç eylemi. fio'nun tipik kullanımı bir iş dosyası yazmaktır.
birinin simüle etmek istediği G/Ç yükünü eşleştirmek.

SEÇENEKLER


- hata ayıklama=tip
Çeşitli fio eylemlerinin ayrıntılı izlenmesini etkinleştirin. Tüm türler için 'hepsi' olabilir veya
virgülle ayrılmış ayrı türler (örneğin --debug=io,file). 'yardım' hepsini listeler
mevcut izleme seçenekleri.

--çıktı=Dosya
çıktıyı şuraya yaz: Dosya.

--çıkış formatı=biçim
Raporlama biçimini şu şekilde ayarlayın: normal, kısaya da json.

--Çalışma süresi=runtime
Çalışma süresini şununla sınırlayın: runtime saniye.

--bant genişliği-günlüğü
İş başına bant genişliği günlükleri oluşturun.

--en az
İstatistikleri kısa, noktalı virgülle ayrılmış biçimde yazdırın.

--ek-kısa
İstatistikleri seçilen modda VE kısa, noktalı virgülle ayrılmış biçimde yazdırın.

--versiyon
Sürüm bilgilerini görüntüleyin ve çıkın.

--terse-versiyon=versiyon
Kısa sürüm çıktı biçimini ayarlayın (Mevcut sürüm 3 veya daha eski sürüm 2).

--yardım et Kullanım bilgilerini görüntüleyin ve çıkın.

--cpuclock testi
Dahili CPU saatinin testini ve doğrulamasını gerçekleştirin

--crctest[=Ölçek]
Yerleşik sağlama toplamı işlevlerinin hızını test edin. Argüman verilmezse, tüm
bunlardan test edilir. Veya virgülle ayrılmış bir liste iletilebilir, bu durumda
verilenler test edilir.

--cmdhelp=komuta
için yardım bilgilerini yazdırın komuta. Tüm komutlar için 'all' olabilir.

--enghelp=ioengine[,komut]
tarafından tanımlanan tüm komutları listele iomotorveya için yardım yazdırın komuta tarafından tanımlanan
iomotor.

--showcmd=iş dosyası
dönüştürmek iş dosyası bir dizi komut satırı seçeneğine.

--eta=ne zaman
Gerçek zamanlı ETA tahmininin ne zaman yazdırılması gerektiğini belirtir. ne zaman biri olabilir
"her zaman", "asla" veya "otomatik".

--eta-yeni satır=zaman
Geçen her 'zaman' dönemi için bir ETA yeni satırını zorla.

--durum aralığı=zaman
Her geçen 'zaman' periyodunda tam çıktı durumunu rapor edin.

--Sadece oku
Herhangi bir yazma girişimini önleyerek güvenlik salt okunur denetimlerini açın.

--Bölüm=kuru
Sadece çalışma bölümü kuru iş dosyasından. Bu seçenek, eklemek için birden çok kez kullanılabilir.
çalıştırmak için daha fazla bölüm.

--alloc boyutu=kb
Dahili küçük havuz boyutunu şu şekilde ayarlayın: kb kilobayt.

--uyarılar-ölümcül
Tüm fio ayrıştırıcı uyarıları ölümcüldür ve fio'nun bir hatayla çıkmasına neden olur.

--max-işler=nr
Desteklemek için izin verilen maksimum iş sayısını (iş parçacığı/işlem) ayarlayın.

--sunucu=args
ile bir arka uç sunucusu başlatın. args ne dinleneceğini belirlemek. İstemci/sunucuya bakın
Bölüm.

--daemonize etmek=pid dosyası
Bir fio sunucusunun arka planını yapın, pid'i verilen pid dosyasına yazın.

--müşteri=ev sahibi
İşleri yerel olarak çalıştırmak yerine, verilen ana bilgisayar veya kümede gönderin ve çalıştırın.
ev sahibi. İstemci/sunucu bölümüne bakın.

--boş-prof=seçenek
Bir sistem veya percpu temelinde işlemci boştalığını bildirin (seçenek=sistem,percpu) veya çalıştırma birimi
sadece iş kalibrasyonu (seçenek= kalibre et).

İŞ DOSYA FORMAT


İş dosyaları 'ini' formatındadır. başlayan bir veya daha fazla iş tanımından oluşur.
köşeli parantez içinde bir iş adıyla ve bir sonraki iş adına uzanarak. iş adı olabilir
özel bir anlamı olan 'global' dışında herhangi bir ASCII dizgisi. İş adının ardından
işin davranışını tanımlayan, her satırda bir tane olacak şekilde sıfır veya daha fazla parametre dizisi.
`;' ile başlayan herhangi bir satır veya `#' karakteri bir yorum olarak kabul edilir ve yok sayılır.

If iş dosyası `-' olarak belirtilirse, iş dosyası standart girdiden okunacaktır.

Küresel Bölüm
Genel bölüm, iş dosyasında belirtilen işler için varsayılan parametreleri içerir. Bir iş
yalnızca üzerinde bulunan genel bölümlerden etkilenir ve herhangi bir sayıda olabilir.
küresel bölümler. Belirli iş tanımları, global olarak ayarlanmış herhangi bir parametreyi geçersiz kılabilir.
bölümleri.

İŞ PARAMETRELERİ


Türleri
Bazı parametreler belirli bir türden bağımsız değişkenler alabilir. Herhangi bir yerde sayısal bir değer
gerekliyse, parantez içine alınması koşuluyla aritmetik bir ifade kullanılabilir.
Desteklenen operatörler şunlardır:

ilave (+)

çıkarma (-)

çarpma (*)

bölünme (/)

modül (%)

üstalma (^)

İfadelerdeki zaman değerleri için birimler varsayılan olarak mikrosaniyedir. Bu farklı
ifadelerde olmayan zaman değerleri için (parantez içine alınmamıştır). Kullanılan türler şunlardır:

str Dize: bir dizi alfanümerik karakter.

int SI tamsayı: muhtemelen temel birimini gösteren bir son ek içeren bir tam sayı
değer. Kabul edilen son ekler kiloyu ifade eden 'k', 'M', 'G', 'T' ve 'P'dir.
(1024), mega (1024^2), giga (1024^3), tera (1024^4) ve peta (1024^5)
sırasıyla. Ön eki '0x' ise, değerin 16 tabanı olduğu varsayılır.
(onaltılık). Bir sonek, sonunda bir 'b' içerebilir, örneğin 'kb' aynıdır
'k' için. 'KiB', 'MiB', 'GiB', vb. kullanarak bir taban 10 değeri belirleyebilirsiniz. Bu,
değerlerin genellikle temel 10 değerlerle verildiği disk sürücüleri için kullanışlıdır. belirtme
'30GiB' size 30*1000^3 bayt kazandıracaktır. Zamanları belirtirken varsayılan son ek
anlam değişiklikleri, hala değerin temel birimini belirtir, ancak kabul edilen son ekler
'D' (gün), 'H' (saat), 'M' (dakika), 'S' Saniye, 'ms' (veya msn) mili
saniye, 'biz' (veya 'usec') mikro saniye. Birim belirtilmeyen zaman değerleri
saniye. Ekler büyük/küçük harfe duyarlı değildir.

bool Boolean: doğru veya yanlış bir değer. '0' yanlış, '1' doğru anlamına gelir.

portakal Tamsayı aralığı: biçimde belirtilen bir tamsayı aralığı alt:üst or
alt-üst. alt ve üst yukarıda açıklandığı gibi bir son ek içerebilir. eğer bir seçenek
iki dizi aralığa izin verir, bunlar bir `,' veya `/' karakteriyle ayrılır. İçin
örnek: "8-8k/8M-4G".

kayan_liste
Kayan sayıların listesi: Bir ':' karakteriyle ayrılmış kayan sayıların listesi.

Parametre Liste
isim=str
İş adını geçersiz kılmak için kullanılabilir. Komut satırında bu parametrede
yeni bir işin başlangıcını bildirmek için özel bir amaç.

tanım=str
İşin insan tarafından okunabilir açıklaması. İş çalıştırıldığında yazdırılır, ancak
aksi takdirde özel bir amacı yoktur.

rehber=str
Bu dizine sahip dosya adlarını önekleyin. Dosyaları başka bir konuma yerleştirmek için kullanılır
`./'. Adları ':' ile ayırarak bir dizi dizin belirtebilirsiniz.
karakter. Bu dizinler, iş klonlarına eşit olarak dağıtılacak
ile oluşturur uyuşturma oluşturulan dosya adlarını kullandıkları sürece. eğer belirliyse
dosya adları are set fio listelenen ilk dizini kullanacak ve böylece eşleşen
the Dosya belirtilmemişse her klonda bir dosya oluşturan anlambilim, ancak izin ver
ayarlanmışsa tüm klonlar aynı şeyi kullanır. Görmek Dosya kaçmakla ilgili düşünceler için
bazı platformlarda belirli karakterler.

Dosya=str
fio normalde iş adına, iş parçacığı numarasına ve dosyaya göre bir dosya adı oluşturur.
numara. Bir işteki veya birkaç işteki iş parçacıkları arasında dosya paylaşmak istiyorsanız,
belirtmek Dosya her birinin varsayılanı geçersiz kılması için. G/Ç motoru ise
dosya tabanlıysa, adları `:' ile ayırarak bir dizi dosya belirtebilirsiniz.
karakter. `-', stdin veya stdout anlamına gelen ayrılmış bir addır.
okuma/yazma yönü seti. Windows'ta disk aygıtlarına \.PhysicalDrive0 olarak erişilir
ilk aygıt için, ikinci aygıt için \.PhysicalDrive1 vb. Not: Windows ve
FreeBSD, kullanımdaki verileri içeren disk alanlarına yazma erişimini engeller (örn.
dosya sistemleri). İstenen dosya adının iki nokta üst üste içermesi gerekiyorsa, bundan kaçın
'\' karakteri ile. Örneğin, dosya adı "/dev/dsk/foo@3,0:c" ise, o zaman
filename="/dev/dsk/foo@3,0\:c" kullanırsınız.

dosyaadı_format=str
İşler arasında birden fazla dosya paylaşılıyorsa, genellikle fio'ya sahip olmak gerekir.
tam olarak istediğiniz adları oluşturun. Varsayılan olarak, fio bir dosyayı şuna dayalı olarak adlandırır:
varsayılan dosya biçimi belirtimi işadı.işnumarası.dosyanumarası. Bununla
seçeneği, bu özelleştirilebilir. Fio aşağıdakileri tanıyacak ve değiştirecektir
bu dizideki anahtar kelimeler:

$iş adı
Çalışan iş parçacığının veya işlemin adı.

$iş sayısı
Çalışan iş parçacığının veya işlemin artan sayısı.

$ dosya sayısı
Bu çalışan iş parçacığı veya işlemi için dosyanın artan sayısı.

Bağımlı işlerin bir dizi dosya paylaşmasını sağlamak için bu seçenek fio olarak ayarlanabilir.
ikisi arasında paylaşılan dosya adları oluşturun. örneğin, eğer
testfiles.$filenum belirtilirse, herhangi bir iş için dosya numarası 4 olarak adlandırılır
test dosyaları.4. varsayılan $işadı.$iş numarası.$dosya numarası başka yoksa kullanılacak
biçim belirteci verilir.

kilit dosyası=str
Fio, varsayılan olarak, onlara IO yapmadan önce hiçbir dosyayı kilitlemez. Eğer bir dosya veya dosya
tanımlayıcı paylaşılır, fio, sonucu elde etmek için IO'yu bu dosyaya seri hale getirebilir
tutarlı. Bu, dosyaları paylaşan gerçek iş yüklerini taklit etmek için olağandır. Kilit
modlar:

Yok Kilitleme yok. Bu varsayılandır.

özel
Diğerleri hariç, aynı anda yalnızca bir iş parçacığı veya işlem IO yapabilir.

okuma yazma
Dosya üzerinde okuma-yazma kilidi. Birçok okuyucu dosyaya şu adresten erişebilir:
aynı anda, ancak yazma işlemleri özel erişime sahip olur.

açık dizin=str Dizinin altındaki tüm dosyaları tekrar tekrar açın str.

okuma yazma=str, rw=str
G/Ç düzeni türü. Kabul edilen değerler:

okumak Sıralı okumalar.

yazmak Sıralı yazar.

süs Sıralı kırpma (yalnızca Linux blok aygıtları).

okumak
Rastgele okumalar.

el yazısı
Rastgele yazar.

Randevu
Rastgele kırpma (yalnızca Linux blok aygıtları).

rw, okuma yazma
Karışık sıralı okuma ve yazma.

Randevu Karışık rastgele okuma ve yazma.

kırpmak
Karışık iş yükünü kırpın ve yazın. Önce bloklar kırpılacak, ardından
aynı bloklara yazılacaktır.

Karışık G/Ç için varsayılan bölme 50/50'dir. Belirli io türleri için sonuç
hız farklı olabileceğinden, yine de biraz eğri olabilir. belirtmek mümkündür
yeni bir ofset almadan önce yapılması gereken bir dizi IO, bu, bir
`: verilen dizenin sonuna. Rastgele bir okuma için, şöyle görünürdü
rw=rande okuma:8 8 değerine sahip bir ofset değiştiricisini geçirmek için
sıralı bir IO modeli ile kullanılırsa, belirtilen değer
her IO için oluşturulan ofset. Örneğin, kullanarak rw=yazma:4k 4k atlayacak
her yaz. Sıralı IO'yu delikli sıralı IO'ya dönüştürür. Bkz.
rw_sequencer seçeneği.

rw_sequencer=str
Bir sayı eklenerek bir ofset değiştiricisi verilirse rw= çizgi, o zaman
bu seçenek, bu sayının oluşturulan GÇ ofsetini nasıl değiştirdiğini kontrol eder.
Kabul edilen değerler:

ardışık
Sıralı ofset oluştur

özdeş
Aynı ofseti oluştur

ardışık yalnızca rastgele IO için yararlıdır, burada fio normalde yeni bir
her IO için rastgele ofset. Örneğin, randread'e 8 eklerseniz, yeni bir
her 8 IO için rastgele ofset. Sonuç, yalnızca her 8 IO için bir arama olacaktır,
her IO için yerine. Kullanmak rw=rande okuma:8 bunu belirtmek için. Sıralı IO olduğu gibi
zaten sıralı, ayar ardışık bunun için hiçbir şekilde sonuçlanmayacak
farklılıklar. özdeş aynı şekilde göndermesi dışında benzer şekilde davranır
yeni bir ofset oluşturmadan önce 8 kez ofset.

kb_base=int
Bir kilobayt için temel birim. Varsayılan taban 2^10, 1024'tür. Depolama
üreticiler, bunun yerine 10^3 veya 1000'i temel on birim olarak kullanmayı severler.
sebepler. İzin verilen değerler 1024 veya 1000'dir ve 1024 varsayılandır.

birleşik_rw_reporting=bool
Fio normalde istatistikleri veri yönü bazında raporlar, yani şu anlama gelir:
yazma ve kırpma ayrı ayrı muhasebeleştirilir ve raporlanır. Bu seçenek fio olarak ayarlanmışsa
sonuçları toplar ve bunun yerine "karışık" olarak bildirir.

tekrarlamak=bool
Rastgele I/O modelleri için kullanılan rastgele sayı üretecini tahmin edilebilir bir şekilde tohumlayın
böylece desen, çalıştırmalar arasında tekrarlanabilir. Varsayılan: doğru.

tüm tekrar=bool
Sonuçların tekrarlanabilir olması için tüm rasgele sayı üreteçlerini tahmin edilebilir bir şekilde tohumlayın
koşular arasında. Varsayılan: yanlış.

ahududu=int
Kontrol edebilmek için rasgele sayı üreteçlerini bu tohum değerine göre tohumlayın.
hangi çıktı dizisinin üretildiği. Ayarlanmadıysa, rastgele sıra aşağıdakilere bağlıdır:
üzerinde tekrarlamak ayarı.

hata yapmak=str
Dosyaları düzenlerken ön tahsis yapılıp yapılmadığı. Kabul edilen değerler:

Yok Önceden yer ayırmayın.

posix aracılığıyla ön tahsis posix_fallocate(3).

tutmak aracılığıyla ön tahsis hata yapmak(2) FALLOC_FL_KEEP_SIZE seti ile.

0 'Hiçbiri' için geriye dönük uyumlu takma ad.

1 'posix' için geriye dönük uyumlu takma ad.

Desteklenen tüm platformlarda mevcut olmayabilir. 'tut' yalnızca Linux'ta kullanılabilir.
Solaris'te ZFS kullanılıyorsa, ZFS desteklemediğinden bunun 'yok' olarak ayarlanması gerekir.
Varsayılan: 'posix'.

fadvise_hint=bool
kullanım posix_fadvise(2) çekirdeğe hangi G/Ç modellerinin olabileceğini tavsiye etmek
Veriliş. Varsayılan: doğru.

fadvise_stream=int
kullanım posix_fadvise(2) çekirdeğe, yayınlanan yazmaların hangi akış kimliğine ait olduğunu bildirmek için
ile. Yalnızca Linux'ta desteklenir. Bu seçeneğin ileride değişebileceğini unutmayın.

boyut=int
Bu iş için toplam G/Ç boyutu. fio bu kadar bayt olana kadar çalışacak
başka seçeneklerle sınırlandırılmadıkça (runtimeörneğin, veya
arttırdı/azalttı io_size). Sürece nr dosyaları ve Dosya boyutu seçenekler sunulur,
bu miktar, iş için mevcut dosyalar arasında bölünecektir. Ayarlanmamışsa,
fio, verilen dosyaların veya cihazların tam boyutunu kullanır. Dosyalar çalışmıyorsa
var, boyut verilmelidir. Arasında yüzde olarak boyut vermek de mümkündür.
1 ve 100. Boyut=%20 verilirse, fio verilen tam boyutunun %20'sini kullanır.
dosyalar veya cihazlar.

io_size=int, io_limit =int
Normalde fio tarafından belirlenen bölge içinde çalışır. boyut, Bu demektir ki boyut
seçeneği, gerçekleştirilecek IO'nun hem bölgesini hem de boyutunu ayarlar. Bazen bu değil
Ne istiyorsunuz. Bu seçenek ile sadece IO miktarını belirlemek mümkündür.
bu fio yapmalı. örneğin, eğer boyut 20G'ye ayarlandı ve io_limit 5G'ye ayarlandı,
fio, ilk 20G içinde IO gerçekleştirecek ancak 5G yapıldığında çıkış yapacak. bu
tersi de mümkündür - eğer boyut 20G'ye ayarlandı ve io_size 40G olarak ayarlanır, ardından
fio, 40..0G bölgesinde 20G IO yapacak.

fill_device=bool, dolgu_fs=bool
Boyutu gerçekten büyük bir değere ayarlar ve ENOSPC'yi bekler (cihazda boş alan kalmaz)
sonlandırma koşulu olarak. Sadece sıralı yazma ile mantıklı. okumak için
iş yükü, önce bağlama noktası doldurulacak, ardından sonuçta IO başlatılacaktır. Bu
seçenek, ham aygıt düğümünde çalışıyorsa, boyutundan dolayı bir anlam ifade etmez.
dosya sistemi tarafından zaten biliniyor. Ek olarak, cihaz sonu ötesinde yazma
ENOSPC'yi oraya döndürmez.

Dosya boyutu=portakal
Bireysel dosya boyutları. Bir aralık olabilir, bu durumda fio için boyutları seçecek
verilen aralıkta rastgele dosyalar, sınırlı boyut toplamda (eğer öyleyse
verildi). Eğer Dosya boyutu belirtilmemişse, oluşturulan her dosya aynı boyuttadır.

dosya_ekleme=bool
Dosyanın bitiminden sonra IO gerçekleştirin. Normalde fio boyutu içinde çalışacaktır
bir dosya. Bu seçenek ayarlanırsa, bunun yerine dosyaya fio eklenir. bu var
ofseti bir dosyanın boyutuna ayarlamakla aynı davranış. Bu seçenek yoksayılır
normal olmayan dosyalarda.

blok boyutu=int[,int], bs=int[,int]
G/Ç birimleri için blok boyutu. Varsayılan: 4k. Okuma, yazma ve kırpma değerleri şunlar olabilir:
formatta ayrı olarak belirtilir okumak,yazmak,süs herhangi biri için boş olabilir
bu değeri varsayılan olarak bırakın. Sondaki virgül verilmezse, kalan
son değer kümesini devralır.

blok boyutu_aralığı=turuncu[,turuncu], bs aralığı=turuncu[,turuncu]
Bir dizi G/Ç blok boyutu belirtin. Verilen G/Ç birimi her zaman çoklu olacaktır.
minimum boyutta, sürece blok boyutu_unaligned ayarlanır. Hem okuma hem de okuma için geçerlidir
yalnızca bir aralık verilmişse yazar, ancak virgülle ayrı olarak belirtilebilir
değerleri ayırıyoruz. Örnek: bsrange=1k-4k,2k-8k. Ayrıca (bkz. blok boyutu).

Bölünmüş=str
Bu seçenek, verilen blok boyutlarının yalnızca
hatta aralarında bölünür. Bu seçenekle, çeşitli blok boyutlarını ağırlıklandırabilirsiniz.
karışık blok boyutlarına sahip bir iş için verilen IO'nun tam kontrolü. biçimi
seçenek, isteğe bağlı olarak birçok tanım ekleyerek bssplit=blok boyutu/yüzdedir
Gerektiğinde iki nokta üst üste ile ayrılmış. Örnek: bssplit=4k/10:64k/50:32k/40 verir
%50 64k blok, %10 4k blok ve %40 32k blok. Bölünmüş vermeyi de destekler
okuma ve yazma için ayrı bölmeler. Biçim, ne ile aynıdır bs seçenek
kabul ederse, okuma ve yazma bölümleri virgülle ayrılır.

blok boyutu_unaligned, bs_unaligned
Ayarlanırsa, herhangi bir boyutta blok boyutu_aralığı Kullanılabilir. Bu genellikle ile çalışmaz
normalde sektör hizalaması gerektirdiğinden doğrudan G/Ç.

blok hizalama=int[,int], ba=int[,int]
Rastgele GÇ ofsetlerini hizalamak için hangi sınırda. 'blocksize' ile aynı varsayılan
verilen minimum blok boyutu. Doğrudan kullanım için minimum hizalama tipik olarak 512b'dir.
IO, genellikle donanım bloğu boyutuna bağlı olsa da. Bu seçenek karşılıklı
dosyalar için rastgele bir harita kullanmakla özeldir, bu nedenle bu seçeneği kapatır.

bs_is_seq_rand=bool
Bu seçenek ayarlanırsa, fio normal okuma, yazma blok boyutu ayarlarını şu şekilde kullanır:
sıralı, rastgele yerine. Herhangi bir rastgele okuma veya yazma, WRITE blok boyutunu kullanır
ayarlar ve herhangi bir sıralı okuma veya yazma, OKUMA blok boyutu ayarını kullanır.

sıfır_tampon
Tamponları tüm sıfırlarla başlatın. Varsayılan: arabellekleri rastgele verilerle doldurun.

refill_buffers
Bu seçenek verilirse, fio her gönderimde IO arabelleklerini yeniden doldurur. bu
varsayılan, yalnızca başlangıç ​​zamanında doldurmak ve bu verileri yeniden kullanmaktır. Sadece eğer mantıklı
Zero_buffers doğal olarak belirtilmemiş. Veri doğrulama etkinse,
refill_buffers da otomatik olarak etkinleştirilir.

scramble_buffers=bool
If refill_buffers çok maliyetli ve hedef veri tekilleştirme kullanıyorsa
bu seçeneğin ayarlanması, normali yenmek için IO arabellek içeriğini biraz değiştirecektir.
de-dupe denemeleri. Bu, daha akıllı blok sıkıştırmayı yenmek için yeterli değil
girişimleri, ancak blokların saf tekilleştirilmesini durduracaktır. Varsayılan: doğru.

tampon_sıkıştırma_percentage=int
Bu ayarlanırsa, fio, GÇ arabelleği içeriği (WRITE'larda) sağlamaya çalışır.
belirtilen seviyeye kadar sıkıştırın. Fio bunu rastgele verilerin bir karışımını sağlayarak yapar.
ve sabit bir desen. Sabit model ya sıfırdır ya da belirtilen modeldir.
by tampon_pattern. Desen seçeneği kullanılırsa, sıkıştırmayı çarpıtabilir.
oranı biraz. Bunun dosya/disk genişliği için blok boyutu birimi başına olduğunu unutmayın.
Bu ayarla eşleşen sıkıştırma seviyesi. Bunun blok boyutu birimi başına olduğunu unutmayın,
bu ayarla eşleşen dosya/disk çapında sıkıştırma düzeyi için
refill_buffers'ı ayarlayın.

buffer_compress_chunk=int
Yerimizi tampon_sıkıştırma_percentage. Bu ayar, fio'nun ne kadar büyük olduğunu yönetmesini sağlar.
rasgele veri aralıkları ve sıfırlanmış veridir. Bu set olmadan, fio
tampon_sıkıştırma_percentage blok boyutlu rastgele verilerin ardından kalan
sıfır. Bu, blok boyutundan daha küçük bir yığın boyutuna ayarlandığında, fio
IO arabelleği boyunca alternatif rastgele ve sıfırlanmış veriler.

tampon_pattern=str
Ayarlanırsa, fio IO arabelleklerini bu modelle dolduracaktır. Ayarlanmamışsa, içeriği
IO arabellekleri, arabellek içeriğiyle ilgili diğer seçenekler tarafından tanımlanır. Ayar
herhangi bir bayt modeli olabilir ve onaltılık değerler için 0x ile ön eklenebilir. Olabilir
ayrıca bir dize olabilir, burada dize daha sonra "" ile sarılmalıdır, örneğin:
tampon_pattern="abcd"
or
tampon_pattern= -12
or
tampon_pattern=0xölü yüz

Ayrıca her şeyi herhangi bir sırayla birleştirebilirsiniz:

tampon_pattern=0xdeadface"abcd"-12

tekilleştirme_yüzdesi=int
Ayarlanırsa, fio yazarken bu özdeş arabellek yüzdesini oluşturur. Bunlar
arabellekler doğal olarak tekilleştirilebilir olacaktır. Tamponların içeriği neye bağlıdır
diğer arabellek sıkıştırma ayarları ayarlandı. sahip olmak mümkündür
bireysel tamponlar ya tamamen sıkıştırılabilir ya da hiç sıkıştırılamaz. Bu seçenek yalnızca
benzersiz arabelleklerin dağıtımını kontrol eder.

nr dosyaları=int
Bu iş için kullanılacak dosya sayısı. Varsayılan: 1.

dosyaları aç=int
Aynı anda açık tutulacak dosya sayısı. Varsayılan: nr dosyaları.

dosya_hizmet_türü=str
Hizmet verilecek dosyaların nasıl seçildiğini tanımlar. Aşağıdaki türler tanımlanmıştır:

rasgele Rastgele bir dosya seçin.

teker teker
Açılan dosyalar üzerinde tekrar deneme (varsayılan).

ardışık
Setteki her dosyayı sırayla yapın.

Yeni bir dosyaya geçmeden önce verilecek G/Ç sayısı şu şekilde belirlenebilir:
` ekleyerek:int' hizmet türüne.

iomotor=str
İşin G/Ç'yi nasıl yayınladığını tanımlar. Aşağıdaki türler tanımlanmıştır:

senkronize Basic okumak(2) veya yazmak(2) G/Ç. fseek(2) G/Ç'yi konumlandırmak için kullanılır
yer.

psync Basic okumak(2) veya yeniden yazmak(2) G/Ç.

vsync Basic okumak(2) veya yazmak(2) G/Ç. Birleştirerek kuyruğa öykünecek
bitişik IO'ları tek bir gönderide.

pv senkronizasyonu Basic ön yayın(2) veya pwritev(2) G/Ç.

liberal Linux yerel asenkron G/Ç. Bu ioengine, motora özel tanımlar
seçenekleri.

Posixaio
POSIX asenkron G/Ç kullanarak aio_read(3) ve aio_write(3).

solaryum
Solaris yerel asenkron G/Ç.

pencere
Windows yerel eşzamansız G/Ç.

mmap Dosya ile eşlenen bellek mmap(2) ve kullanılarak kopyalanan veriler Memcpy(3).

ek yeri ek yeri(2) verileri aktarmak için kullanılır ve vmsplice(2) transfer etmek
kullanıcı alanından çekirdeğe veri.

sistem-rw
Normal okuma/yazma zaman uyumsuz yapmak için sistem sistemi çağrılarını kullanın.

sg SCSI genel sg v3 G/Ç. SG_IO kullanılarak eşzamanlı olabilir
ioctl veya hedef bir sg karakter cihazı ise, kullanırız okumak(2) ve
yazmak(2) asenkron G/Ç için.

boş Herhangi bir veri aktarmaz, sadece aktarıyormuş gibi yapar. Esas olarak egzersiz yapmak için kullanılır
fio kendisi ve hata ayıklama ve test amacıyla.

net Ağ üzerinden aktarın. Kullanılacak protokol tanımlanabilir
ile protokol parametre. Protokole bağlı olarak, Dosya,
hostname, Limanya da dinlemek belirtilmelidir. Bu ioengine tanımlar
motora özel seçenekler.

ağ ek yeri
Facebok sayfasını beğenin : net, ancak kullanır ek yeri(2) ve vmsplice(2) verileri haritalamak ve
gönder/al. Bu ioengine, motora özel seçenekleri tanımlar.

işlemci Herhangi bir veri aktarmaz, ancak buna göre CPU döngülerini yakar. işlemci yükü
ve cpucycle'lar parametreleri.

Elbette GUASI I/O motoru, Genel Kullanıcı Alanı Asenkron Sistem Çağrısıdır.
Asenkron G/Ç'ye arayüz yaklaşımı.
Görmekhttp://www.xmailserver.org/guasi-lib.html>.

rdma RDMA G/Ç motoru, her iki RDMA bellek semantiğini de destekler
(RDMA_WRITE/RDMA_READ) ve kanal semantiği (Gönder/Al)
InfiniBand, RoCE ve iWARP protokolleri.

dış
Harici bir G/Ç motoru nesne dosyası yükler. Motor dosya adını ekleyin
` olarak:motor yolu'.

fallok
Normal linux yerel fallocate çağrısı yapan IO motoru
fio ioengine olarak veri aktarımını simüle edin
DDIR_READ hata veriyor(,mod = FALLOC_FL_KEEP_SIZE,)
DIR_WRITE hata veriyor(,mod = 0)
DDIR_TRIM hata veriyor(,mod =
FALLOC_FL_KEEP_SIZE|FALLOC_FL_PUNCH_HOLE)

e4 birleştirme
Simüle etmek için normal EXT4_IOC_MOVE_EXT ioctls yapan IO motoru
DDIR_WRITE etkinliğine birleştirme etkinliği isteği

rbd Ceph Rados Blok Cihazlarına (RBD) doğrudan erişimi destekleyen IO motoru
çekirdek rbd sürücüsünü kullanmaya gerek kalmadan librbd aracılığıyla. Bu
ioengine, motora özel seçenekleri tanımlar.

gfapi Glusterfs'e doğrudan erişim için Glusterfs libgfapi senkronizasyon arayüzünü kullanma
FUSE'den geçmek zorunda kalmadan ciltler. Bu ioengine tanımlar
motora özel seçenekler.

gfapi_async
Doğrudan erişim için Glusterfs libgfapi zaman uyumsuz arabirimini kullanma
FUSE'den geçmek zorunda kalmadan hacimleri Glusterfs. Bu iomotor
motora özel seçenekleri tanımlar.

libhdf'ler
Hadoop (HDFS) aracılığıyla okuma ve yazma. bu Dosya seçenek kullanılır
bağlanılacak hdfs ad düğümünün ana bilgisayarını, bağlantı noktasını belirtin. Bu motor
ofsetleri biraz farklı yorumlar. HDFS'de dosyalar oluşturulduktan sonra
değiştirilemez. Yani rastgele yazmalar mümkün değildir. taklit etmek
bu, libhdfs motoru üzerinde bir sürü küçük dosyanın oluşturulmasını bekler.
HDFS ve motor, bu dosyalardan rastgele bir dosya seçecektir.
fio arka ucu tarafından oluşturulan ofset üzerinde. (örnek iş dosyasına bakın
bu tür dosyalar oluşturun, rw=write seçeneğini kullanın). Lütfen dikkat, isteyebilirsiniz
hdfs/libhdfs ile çalışmak için gerekli ortam değişkenlerini ayarlamak
uygun şekilde.

aylık Bir MTD karakter aygıtını okuyun, yazın ve silin (örn. /dev/mtd0).
Atılanlar, silme olarak kabul edilir. Temel cihaza bağlı olarak
yazın, G/Ç'nin belirli bir düzende gitmesi gerekebilir, örneğin NAND'de,
blokları silmek ve daha önce atmak için sırayla yazma
üzerine yazmak. Writetrim modu bu kısıtlama için iyi çalışır.

iyoderinlik=int
Dosyaya göre uçuşta tutulacak G/Ç birimlerinin sayısı. artan dikkat
1'in ötesindeki iodepth senkron iomotorları etkilemez (küçük dereceler hariç)
doğrulama_async kullanımdayken). Zaman uyumsuz motorlar bile işletim sistemi kısıtlamaları getirebilir ve
istenilen derinlik elde edilememektedir. Bu, libaio kullanırken Linux'ta olabilir
ve ayar değil direkt=1, çünkü arabelleğe alınan IO, bu işletim sisteminde eşzamansız değildir. Gözünü üzerinden ayırma
elde edilen derinliğin aşağıdaki gibi olduğunu doğrulamak için fio çıkışındaki IO derinlik dağılımı
beklenen. Varsayılan: 1.

iyoderinlik_batch=int
Tek seferde gönderilecek G/Ç sayısı. Varsayılan: iyoderinlik.

ioDefinition_batch_complete=int
Bu, bir kerede kaç IO parçasının alınacağını tanımlar. Varsayılan olarak 1 olan
bu, geri alma sürecinde en az 1 IO talep edeceğimiz anlamına gelir.
çekirdek. IO alımı, biz tarafından belirlenen sınıra ulaşana kadar devam edecek. ioDefinition_low. Eğer
bu değişken 0'a ayarlanır, ardından fio her zaman önce tamamlanmış olayları kontrol eder.
daha fazla IO kuyruklama. Bu, daha fazla alma sistemi pahasına IO gecikmesini azaltmaya yardımcı olur
çağırır.

ioDefinition_low=int
Kuyruğu tekrar doldurmaya ne zaman başlayacağını gösteren düşük filigran. Varsayılan: iyoderinlik.

io_submit_mode=str
Bu seçenek, fio'nun IO'yu IO motoruna nasıl göndereceğini kontrol eder. Varsayılan
inline, bu, fio iş dizilerinin IO'yu doğrudan gönderip biçtiği anlamına gelir. ayarlanırsa
için boşaltması, iş dizileri, IO gönderimini özel bir IO havuzuna aktaracaktır.
İş Parçacığı. Bu biraz koordinasyon gerektirir ve bu nedenle biraz fazladan yüke sahiptir,
özellikle gecikmeleri artırabileceği daha düşük kuyruk derinliği IO için. fayda
bu fio, gönderim oranlarını cihaz tamamlama oranlarından bağımsız olarak yönetebilir.
Bu, IO cihaz tarafında (
koordineli ihmal problemi).

direkt=bool
Doğruysa, arabelleğe alınmamış G/Ç kullanın (genellikle O_DIRECT). Varsayılan: yanlış.

atom=bool
Değer doğruysa, atomik doğrudan IO'yu kullanmayı deneyin. Atomik yazma garantilidir
işletim sistemi tarafından onaylandıktan sonra kararlı olun. Yalnızca Linux, O_ATOMIC'i destekler
şu anda.

tampon=bool
Doğruysa, arabelleğe alınmış G/Ç kullanın. Bu durumun tam tersi direkt parametre. Varsayılan:
doğru.

ofset=int
G/Ç'yi başlatmak için dosyada ofset. Ofsetten önceki verilere dokunulmaz.

offset_increment=int
Bu sağlanırsa, gerçek ofset, offset + offset_increment olur *
thread_number, iş parçacığı numarasının 0'dan başlayan bir sayaç olduğu ve
her alt iş için artırılır (yani numjobs seçeneği belirtildiğinde). Bu seçenek
içindeki bir dosyada çalışması amaçlanan birkaç iş varsa yararlıdır.
başlangıç ​​noktaları arasında eşit boşluk bulunan paralel ayrık parçalar.

sayı_ios=int
Fio, tarafından ayarlanan bölgenin boyutunu tüketene kadar normalde GÇ'leri gerçekleştirir.
boyutveya ayrılan süreyi tüketirse (veya bir hata koşuluna ulaşırsa). Bununla
ayarı, aralık/boyut, gerçekleştirilecek IO sayısından bağımsız olarak ayarlanabilir.
fio bu sayıya ulaştığında normal olarak çıkış yapacak ve durum bildirecektir. Bunu not et
bu, yapılacak IO miktarını artırmaz, yalnızca şu durumlarda durur:
bu koşul, diğer iş sonu kriterlerinden önce karşılanır.

fsync=int
Yayınlanmadan önce kaç G/Ç gerçekleştirilecek? fsync(2) kirli veriler. 0 ise, yapma
senkronizasyon. Varsayılan: 0.

fdatasync=int
Facebok sayfasını beğenin : fsync, ancak kullanır fdatasync(2) bunun yerine yalnızca dosyanın veri kısımlarını senkronize etmek için.
Varsayılan: 0.

write_bariyer=int
Her Nth'in bir bariyer yazmasını sağlayın.

senkronizasyon_dosya_aralığı=satır: int
kullanım senkronizasyon_dosya_aralığı(2) her val sayısı yazma işlemi için. Fio takip edecek
sondan bu yana gerçekleşen yazma aralığı senkronizasyon_dosya_aralığı(2) çağrı. str can
şu anda şunlardan biri veya daha fazlası olmak:

bekle_önce
SYNC_FILE_RANGE_WAIT_BEFORE

yazmak SYNC_FILE_RANGE_WRITE

bekle_sonra
SYNC_FILE_RANGE_WRITE

Yani sync_file_range=wait_before,write:8 yaparsanız, fio kullanır
SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE her 8 yazma için. Ayrıca bkz.
the senkronizasyon_dosya_aralığı(2) adam sayfası. Bu seçenek Linux'a özeldir.

üzerine=bool
Yazıyorsanız, önce dosyayı kurun ve üzerine yazar. Varsayılan: yanlış.

end_fsync=bool
Bir yazma aşaması tamamlandığında dosya içeriğini eşitleyin. Varsayılan: yanlış.

fsync_on_close=bool
Doğruysa, dosya içeriğini kapatırken eşitleyin. Bu farklıdır end_fsync bunda olacak
sadece işin sonunda değil, her kapanışta olur. Varsayılan: yanlış.

rwmixread=int
Okunması gereken karma bir iş yükünün yüzdesi. Varsayılan: 50.

rwmixwrite=int
Yazılması gereken karma bir iş yükünün yüzdesi. Eğer rwmixread ve rwmixwrite
verilir ve toplamı %100 değildir, ikisinden ikincisi birinciyi geçersiz kılar. Bu
fio'nun okuma veya yazma işlemlerini sınırlaması istenirse, belirli bir hız ayarına müdahale edebilir
belli bir oranda. Bu durumda, dağılım çarpık olabilir.
Varsayılan: 50.

rastgele_dağıtım=str: yüzer
Varsayılan olarak fio, istendiğinde tamamen tek tip bir rastgele dağılım kullanacaktır.
rastgele IO gerçekleştirin. Bazen belirli bir şekilde dağılımı çarpıtmak yararlıdır.
yöntemlerle, verilerin bazı bölümlerinin diğerlerinden daha sıcak olmasını sağlar. Fio şunları içerir:
aşağıdaki dağıtım modelleri:

rasgele Tek tip rastgele dağılım

zipf Zipf dağıtımı

Pareto Pareto dağılımı

Bir zipf veya pareto dağıtımı kullanırken, aynı zamanda bir giriş değeri gereklidir.
erişim düzenini tanımlayın. Zipf için bu, zipf tetasıdır. Pareto için, bu
pareto gücü. Fio, neyin ne olduğunu görselleştirmek için kullanılabilecek bir test programı olan genzipf içerir.
verilen girdi değerleri, isabet oranları cinsinden verecektir. zipf kullanmak istiyorsanız
1.2 teta ile, seçenek olarak random_distribution=zipf:1.2 kullanırsınız. Eğer bir
tekdüze olmayan model kullanılırsa, fio rastgele haritanın kullanımını devre dışı bırakır.

yüzde_rastgele=int
Rastgele bir iş yükü için, yüzdenin ne kadar büyük olması gerektiğini belirleyin. Bu varsayılan
%100, bu durumda iş yükü tamamen rastgeledir. Herhangi bir yerden ayarlanabilir
0 ila 100. Bunu 0'a ayarlamak, iş yükünü tamamen sıralı hale getirecektir. Bu mümkün
okuma, yazma ve kırpma için farklı değerler ayarlamak için. Bunu yapmak için virgül kullanmanız yeterlidir
ayrılmış liste Görmek blok boyutu.

rastgele harita
Normalde fio rastgele G/Ç yaparken dosyanın her bloğunu kapsayacaktır. Eğer bu
parametre verildiğinde, geçmiş G/Ç'ye bakmadan yeni bir ofset seçilecektir
Tarih. Bu parametre ile birbirini dışlar doğrulamak.

yumuşak rasgele harita=bool
Yerimizi rastgele harita. fio, rastgele blok haritası etkinken çalışırsa ve başarısız olursa
haritayı tahsis et, bu seçenek ayarlanırsa rastgele bir blok olmadan devam edecek
harita. Kapsama, rastgele haritalardaki kadar eksiksiz olmayacağından, bu seçenek
varsayılan olarak devre dışı.

rastgele_jeneratör=str
Fio, rastgele IO için IO ofsetleri oluşturmak için aşağıdaki motorları destekler:

tausworth
Güçlü 2^88 döngü rastgele sayı üreteci

lfsr Doğrusal geri besleme kaydırma yazmacı üreteci

tausworthe64
Güçlü 64-bit 2^258 döngü rastgele sayı üreteci

Tausworthe güçlü bir rasgele sayı üretecidir, ancak takip edilmesini gerektirir.
the
blokların yalnızca bir kez okunduğundan veya yazıldığından emin olmak istiyorsak. LFSR
aynı ofseti asla iki kez oluşturmamamızı garanti eder ve aynı zamanda daha azdır
hesaplama açısından pahalı. Ancak, IO için olsa da, gerçek bir rastgele oluşturucu değil
amaçlar genellikle yeterince iyidir. LFSR yalnızca tek blok boyutlarıyla çalışır,
birden çok blok boyutu kullanan iş yükleriyle. Böyle bir iş yükü ile kullanılırsa, fio
bazı blokları birden çok kez okuyun veya yazın.

güzel=int
Verilen güzel değerle işi çalıştırın. Görmek güzel(2).

prio=int
Bu işin G/Ç öncelik değerini 0 (en yüksek) ile 7 (en düşük) arasında ayarlayın. Görmek
iyonik(1).

ön sınıf=int
G/Ç öncelik sınıfını ayarlayın. Görmek iyonik(1).

düşünme zamanı=int
G/Ç'leri yayınlama arasında verilen mikrosaniye sayısı için işi durdurun.

düşünce zamanı_spin=int
Verilen mikrosaniye sayısı için CPU zamanını harcıyormuş gibi yapın, geri kalanını uyuyarak geçirin.
tarafından belirtilen zaman düşünme zamanı. Yalnızca şu durumlarda geçerlidir: düşünme zamanı ayarlanır.

Thinktime_blocks=int
Yalnızca düşünme zamanı ayarlanmışsa geçerlidir - beklemeden önce kaç blok yayınlanacağını kontrol edin
düşünme zamanı mikrosaniye. Ayarlanmadıysa, varsayılan olarak 1'dir ve bu, fio'nun beklemesine neden olur
düşünme zamanı her bloktan sonra mikrosaniye. Bu, herhangi bir kuyruk derinliğini etkili bir şekilde yapar
gereksiz ayar, çünkü biz gerekmeden önce 1 IO'dan fazlası sıraya alınmaz.
tamamlayın ve düşünme zamanımızı yapın. Başka bir deyişle, bu ayar etkin bir şekilde
ikincisi daha büyükse kuyruk derinliği. Varsayılan: 1.

oranları=int
Bu iş tarafından kullanılan bant genişliğini sınırla. Sayı bayt/sn cinsindendir, normal postfix
kurallar geçerlidir. Kullanabilirsiniz oranları=500k, okuma ve yazma her birini 500k ile sınırlamak için veya siz
okuma ve yazma işlemlerini ayrı ayrı belirtebilirsiniz. kullanma oranları=1m.500k, okumaları şu şekilde sınırlar:
1MB/sn ve 500KB/sn'ye yazar. Sınırlama yalnızca okuma veya yazma ile yapılabilir
oranları=,500k veya oranları=500k,. İlki yalnızca yazmaları (500KB/sn ile) sınırlar,
ikincisi yalnızca okumaları sınırlayacaktır.

oran dakika=int
Söylemek fio en azından verilen bant genişliğini korumak için elinden geleni yapmak. başarısız
bu gereksinimi karşılamak işin çıkmasına neden olacaktır. ile aynı format oranları is
okuma ve yazma ayrımı için kullanılır.

oran_iops=int
Bant genişliğini bu IOPS sayısıyla sınırlayın. Temelde oran ile aynı, sadece
bant genişliğinden bağımsız olarak belirtilir. ile aynı format oranları vs okumak için kullanılır
ayrılık yaz Eğer blok boyutu bir aralıktır, en küçük blok boyutu olarak kullanılır
metrik.

oran_iops_min=int
Bu G/Ç oranı karşılanmazsa işten çıkılır. ile aynı format oranları kullanılır
okuma vs yazma ayrımı için.

hız döngüsü=int
için ortalama bant genişliği oranları ve oran dakika bu milisaniye sayısının üzerinde. Varsayılan:
1000ms.

gecikme_hedefi=int
Ayarlanırsa, fio verilen iş yükünün maksimum performans noktasını bulmaya çalışır.
bu hedefin altında bir gecikmeyi korurken çalışacaktır. değerler verilir
mikrosaniye. Görmek gecikme_penceresi ve gecikme_yüzdelik dilimi.

gecikme_penceresi=int
İle kullanılan gecikme_hedefi işin çalıştırıldığı örnek pencereyi belirtmek için
performansı test etmek için değişen kuyruk derinlikleri. Değer mikrosaniye cinsinden verilir.

gecikme_yüzdelik dilimi=şamandıra
Tarafından belirtilen kriterlere uyması gereken ES'lerin yüzdesi
gecikme_hedefi ve gecikme_penceresi. Ayarlanmazsa, bu varsayılan olarak 100.0 olur, yani
tüm IO'lar tarafından ayarlanan değere eşit veya altında olmalıdır gecikme_hedefi.

maksimum_latency=int
Ayarlanırsa, bu maksimum gecikmeyi aşarsa fio işten çıkar. ile çıkış yapacak
bir ETIME hatası.

işlemci maskesi=int
Bu iş için CPU benzeşimini ayarlayın. int işin üzerinde çalışabileceği izin verilen CPU'ların bit maskesidir.
Yerimizi sched_setaffinity(2).

cpus_allowed=str
Aynısı işlemci maskesi, ancak virgülle ayrılmış bir CPU numaraları listesine izin verir.

cpus_allowed_policy=str
fio tarafından belirtilen CPU'ları nasıl dağıtacağına ilişkin politikayı ayarlayın. cpus_allowed or
işlemci maskesi. İki politika desteklenir:

Paylaşılan Tüm işler belirtilen CPU setini paylaşacaktır.

bölmek Her iş, CPU setinden benzersiz bir CPU alacaktır.

Paylaşılan seçenek belirtilmemişse varsayılan davranıştır. Eğer bölmek is
belirtildiğinde, fio iş başına bir işlemci atayacaktır. Yeterli CPU yoksa
Listelenen işler, ardından fio kümedeki CPU'ları sıralayacaktır.

numa_cpu_nodes=str
Belirtilen NUMA düğümlerinin CPU'larında çalışan bu işi ayarlayın. Argümanlar virgüle izin verir
cpu numaralarının, AB aralıklarının veya 'tümü'nün sınırlandırılmış listesi.

numa_mem_policy=str
Bu işin bellek ilkesini ve ilgili NUMA düğümlerini ayarlayın. Argümanların formatı:

[: ]

kip aşağıdaki bellek ilkelerinden biridir:

, varsayılan tercih etmek, bağlamak, araya girmek, yerel

ABD varsayılan ve yerel hafıza politikası, hayır düğüm listesi is
belirtilmesi gerekliydi. İçin tercih, yalnızca bir düğüme izin verilir. İçin bağlamak ve
serpiştirmek, düğüm listesi virgülle ayrılmış sayılar listesine, AB aralıklarına veya 'tümüne' izin verir.

Gecikmeye başlamak=portakal
Belirtilen saniye sayısı kadar işin başlangıcını geciktirin. Tüm zaman eklerini destekler
saat, dakika, saniye ve milisaniye belirtimine izin vermek için - saniye
bir birim atlanırsa varsayılan. Her iş parçacığına neden olan bir aralık olarak verilebilir
aralık dışında rastgele seçmek için.

runtime=int
Belirtilen saniye sayısından sonra işlemeyi sonlandırın.

zamana dayalı
Verilmişse, belirtilen için çalıştırın runtime dosyalar tamamen olsa bile süre
okuyun veya yazın. Aynı iş yükü gerektiği kadar tekrarlanacaktır. runtime
izin verir.

rampa zamanı=int
Ayarlanırsa, fio, günlüğe kaydetmeden önce bu süre boyunca belirtilen iş yükünü çalıştırır
herhangi bir performans numarası Günlüğe kaydetmeden önce performansın yerleşmesine izin vermek için kullanışlıdır
Böylece kararlı sonuçlar için gereken çalışma süresini en aza indirir. Şuna dikkat edin:
rampa zamanı bir iş için zamanında teslim olarak kabul edilir, bu nedenle toplamı artıracaktır
özel bir zaman aşımı veya çalışma zamanı belirtilmişse çalışma zamanı.

geçersiz kılmak=bool
G/Ç'yi başlatmadan önce dosya için arabellek önbelleğini geçersiz kılın. Varsayılan: doğru.

senkronize=bool
Arabelleğe alınmış yazma işlemleri için eşzamanlı G/Ç kullanın. G/Ç motorlarının çoğu için bu
O_SYNC kullanmak anlamına gelir. Varsayılan: yanlış.

kısa not=str, mem=str
G/Ç birimi arabelleği için tahsis yöntemi. İzin verilen değerler:

malloc ile bellek ayır malloc(3).

shm aracılığıyla tahsis edilen paylaşılan bellek arabelleklerini kullanın. saçmalık(2).

utangaç
Aynısı shm, ancak büyük sayfaları destek olarak kullanın.

mmap kullanım mmap(2) tahsis için. Dosya adı olmadığı sürece anonim bellek kullanır
` biçimindeki seçenekten sonra verilir:dosya'.

mmafüj
Aynısı mmap, ancak büyük dosyaları destek olarak kullanın.

Ayrılan bellek miktarı izin verilen maksimum değerdir blok boyutu iş için
çarpılır iyoderinlik. Için utangaç or mmafüj çalışması için sistemin ücretsiz olması gerekir
ayrılmış büyük sayfalar. mmafüj ayrıca hugetlbfs'nin monte edilmiş olması gerekir ve dosya , eğer mülteci statüleri sona erdirilmemişse Amerika'ya geldikten bir yıl sonra
orayı işaret et. En azından Linux'ta büyük sayfalar manuel olarak ayrılmalıdır. Görmek
/proc/sys/vm/nr_hugehages ve bunun için belgeler. Normalde sadece ihtiyacın var
uygun bir sayıyı yankılayın, örneğin 8'i yankılamak, işletim sisteminin 8 büyük sayfaya sahip olmasını sağlar
kullanıma hazır.

iomem_align=int, mem_align=int
Bu, IO bellek arabelleklerinin bellek hizalamasını gösterir. verilen not
kullanılıyorsa, ilk IO birimi arabelleğine hizalama uygulanır. iyoderinlik hizalanması
aşağıdaki tamponlar tarafından verilir bs Kullanılmış. Başka bir deyişle, eğer bir bs o
sistemde boyutlandırılmış sayfanın katıdır, tüm arabellekler buna hizalanır
değer. kullanıyorsanız bs bu sayfa hizalı değil, sonraki IO hizalaması
bellek arabellekleri toplamıdır iomem_align ve bs Kullanılmış.

dev sayfa boyutunda=int
Büyük bir sayfanın boyutunu tanımlar. En azından sistem ayarına eşit olmalıdır.
1MB'nin katı olmalıdır. Varsayılan: 4MB.

çıkış
Biri bittiğinde tüm işleri sonlandırın. Varsayılan: her işin bitmesini bekleyin.

Bwavgtime=int
Milisaniye cinsinden verilen süre boyunca ortalama bant genişliği hesaplamaları. Varsayılan:
500ms.

iopsavgtime=int
Milisaniye cinsinden verilen süre içinde ortalama IOPS hesaplamaları. Varsayılan: 500ms.

create_serialize=bool
Doğruysa, işler için dosya oluşturmayı seri hale getirin. Varsayılan: doğru.

oluştur_fsync=bool
fsync(2) oluşturulduktan sonra veri dosyası. Varsayılan: doğru.

oluştur_on_open=bool
Doğruysa, dosyalar iş tarafından IO için açılana kadar oluşturulmaz.

sadece_oluştur=bool
Doğruysa, fio yalnızca işin kurulum aşamasını çalıştırır. Dosyaların düzenlenmesi gerekiyorsa
veya diskte güncellenir, yalnızca bu yapılır. Gerçek iş içeriği,
idam edildi.

izin_dosya_oluştur=bool
Doğruysa, fio'nun iş yükünün bir parçası olarak dosya oluşturmasına izin verilir. bu
Varsayılan davranış. Bu seçenek yanlışsa, dosyalar yanlışsa fio hata verir.
kullanma ihtiyacı zaten mevcut değil. Varsayılan: doğru.

izin_bağlı_yazma=bool
Bu ayarlanmazsa, fio ne için yıkıcı olan (örn. yazma) işleri iptal eder.
takılı bir aygıt veya bölüm gibi görünüyor. Bu, yaratmayı yakalamaya yardımcı olmalıdır
istemeden yıkıcı testler, testin verileri yok edeceğinin farkında değil
takılı dosya sistemi. Varsayılan: yanlış.

Ön okuma=bool
Bu verilirse, verilen IO'yu başlatmadan önce dosyalar belleğe önceden okunur
operasyon. Bu da temizleyecek geçersiz kılmak bayrak, önceden anlamsız olduğu için
okuyun ve ardından önbelleği bırakın. Bu yalnızca aranabilir IO motorları için işe yarar,
çünkü aynı verileri birden çok kez okumanıza izin veriyorlar. Böylece üzerinde çalışmayacak
örneğin ağ veya ekleme IO.

bağlantısını kaldırmak=bool
Bittiğinde iş dosyalarının bağlantısını kaldırın. Varsayılan: yanlış.

döngüler=int
Bu işin yineleme sayısını (aynı iş yükünün çalıştırmaları) belirtir.
Varsayılan: 1.

doğrulamak_yalnızca=bool
Belirtilen iş yükünü gerçekleştirmeyin, yalnızca verilerin hala öncekiyle eşleştiğini doğrulayın
bu iş yükünün çağrılması. Bu seçenek, verilerin birden çok kez kontrol edilmesini sağlar.
üzerine yazmadan daha sonraki bir tarih. Bu seçenek yalnızca iş yükleri için anlamlıdır
veri yazan ve iş yüklerini desteklemeyen zamana dayalı seçenek kümesi.

do_verify=bool
Bir yazma aşamasından sonra doğrulama aşamasını çalıştırın. Yalnızca şu durumlarda geçerlidir: doğrulamak ayarlanır. Varsayılan:
doğru.

doğrulamak=str
İşin her yinelemesinden sonra dosya içeriğini doğrulama yöntemi. Her biri
doğrulama yöntemi ayrıca yazılan özel başlığın doğrulanması anlamına gelir.
her bloğun başına. Bu başlık ayrıca, aşağıdaki gibi meta bilgileri içerir:
bloğun ofseti, blok numarası, bloğun yazıldığı zaman damgası vb.
doğrulamak=str ile birleştirilebilir doğrulama_pattern=str seçeneği. İzin verilen değerler şunlardır:

md5 crc16 crc32 crc32c crc32c-intel crc64 crc7 sha256 sha512 sha1 xxhash
Her bloğun başlığında uygun sağlama toplamını saklayın. crc32c-intel
donanım hızlandırmalı SSE4.2 desteklidir, normal crc32c'ye geri döner
sistem tarafından desteklenmiyorsa.

meta Bu seçenek kullanımdan kaldırılmıştır, çünkü artık meta bilgiler
genel doğrulama başlığı ve meta doğrulama varsayılan olarak gerçekleşir.
Detaylı bilgi için açıklama kısmına bakınız. doğrulamak=str
ayar. Bu seçenek, eski sürümlerle uyumluluk uğruna tutulur.
konfigürasyonlar. Bunu kullanma.

model
Kesin bir kalıbı doğrulayın. Normalde fio, bazılarıyla birlikte bir başlık içerir.
temel bilgiler ve sağlama toplamı, ancak bu seçenek ayarlanırsa yalnızca
ile ayarlanan belirli desen doğrulama_pattern doğrulanır.

boş Doğruluyormuş gibi yapın. Dahili test için kullanılır.

Bu seçenek, bir sistemin tekrarlanan yanma testleri için kullanılabilir.
yazılan veriler de doğru bir şekilde geri okunur. Verilen veri yönü bir okuma ise
veya rastgele okuma, fio önceden yazılmış bir dosyayı doğrulaması gerektiğini varsayacaktır. Eğer
veri yönü herhangi bir yazma biçimini içerir, doğrulama yeni olacak
yazılı veriler.

doğrulama sıralaması=bool
Doğruysa, yazılı doğrulama blokları şu durumlarda sıralanır: fio onları okumanın daha hızlı olduğunu düşünüyor
sıralı bir şekilde geri dönün. Varsayılan: doğru.

doğrulamasort_nr=int
Bir okuma iş yükü için doğrulama bloklarını önceden yükleyin ve sıralayın.

doğrulama_offset=int
Yazmadan önce doğrulama başlığını blokta başka bir yerdeki verilerle değiştirin.
Doğrulamadan önce geri değiştirilir.

doğrulama_aralığı=int
Bölmesi gereken bu bayt sayısı için doğrulama başlığını yazın
blok boyutu. Varsayılan: blok boyutu.

doğrulama_pattern=str
Ayarlanırsa, fio, io arabelleklerini bu kalıpla dolduracaktır. Fio varsayılan olarak doldurma
tamamen rastgele baytlarla, ancak bazen bilinen bir baytla doldurmak ilginçtir.
io doğrulama amacıyla desen. Desenin genişliğine bağlı olarak, fio
o anda tamponun 1/2/3/4 baytını dolduracaktır (ondalık veya ondalık sayı olabilir)
onaltılık sayı). 32 bitlik bir miktardan büyükse, doğrulama_patterninin onaltılık olması gerekir
"0x" veya "0X" ile başlayan sayı. La kullan doğrulamak=str. Ayrıca,
doğrulama_pattern %o biçimini destekler; bu, her blok ofseti için şu anlama gelir:
yazıldı ve ardından doğrulandı, örneğin:
doğrulama_pattern=% o
Veya her şeyin kombinasyonunu kullanın:

doğrulama_pattern=0xff%o"abcd"-21

doğrulama_ölümcül=bool
Doğruysa, ilk gözlemlenen doğrulama hatasında işten çıkın. Varsayılan: yanlış.

doğrulama_dump=bool
Ayarlanırsa, hem orijinal veri bloğunun hem de bizim kullandığımız veri bloğunun içeriğini boşaltın.
diskten dosyalara oku. Bu, daha sonraki analizlerin ne tür
veri bozulması meydana geldi. Varsayılan olarak kapalı.

doğrulama_async=int
Fio normalde gönderen iş parçacığından IO satır içi doğrular. Bu seçenek bir
GÇ doğrulaması için kaç tane zaman uyumsuz boşaltma iş parçacığının oluşturulacağını açıklayan tam sayı
bunun yerine, fio'nun IO içeriğini doğrulama görevini bir veya daha fazlasına devretmesine neden olur.
ayrı ipler. Bu boşaltma seçeneğini kullanıyorsanız, senkronizasyon IO motorları bile fayda sağlayabilir
bir kullanmaktan iyoderinlik uçuşta IO'ya sahip olmalarına izin verdiği için 1'den yüksek ayar
doğrulamalar çalışırken.

doğrulama_async_cpus=str
fio'ya, zaman uyumsuz IO doğrulama iş parçacıklarında verilen CPU benzeşimini ayarlamasını söyleyin. Görmek
cpus_allowed kullanılan biçim için.

doğrulama_backlog=int
Fio normalde doğrulamayı bir kez kullanan bir işin yazılı içeriğini doğrular.
o iş bitti. Başka bir deyişle, her şey yazılır, sonra her şey
tekrar okuyun ve doğrulayın. Bunun yerine sürekli olarak doğrulamak isteyebilirsiniz.
sebepler. Fio, bir IO bloğuyla ilişkili meta verileri bellekte saklar;
büyük doğrulama iş yükleri, bu metayı tutmak için oldukça fazla bellek kullanılır
veri. Bu seçenek etkinleştirilirse, fio doğrulamadan önce yalnızca N blok yazacaktır.
bu bloklar.

doğrulama_backlog_batch=int
Doğrulama_backlog ayarlanmışsa fio'nun kaç blok doğrulayacağını kontrol edin. Ayarlanmadıysa,
değerine varsayılan doğrulama_backlog (yani tüm sıra tekrar okunur ve
doğrulandı). Eğer doğrulama_backlog_batch daha az doğrulama_backlog o zaman tüm bloklar değil
doğrulanırsa, doğrulama_backlog_batch daha büyüktür doğrulama_backlogBazı
bloklar bir kereden fazla doğrulanacaktır.

trim_percentage=int
Atılacak/kırpılacak doğrulama bloklarının sayısı.

trim_verify_zero=bool
Kırp/atılan blokların sıfır olarak döndürüldüğünü doğrulayın.

trim_backlog=int
Bu sayıda blok yazıldıktan sonra kırpın.

trim_backlog_batch=int
Bu sayıda IO bloğunu kesin.

deneysel_verify=bool
Deneysel doğrulamayı etkinleştirin.

doğrulama_durumu_save=bool
Doğrulama iş yükünün yazma aşaması sırasında bir iş çıktığında, mevcut iş yükünü kaydedin.
belirtmek, bildirmek. Bu, doğrulama durumu yüklenmişse fio'nun o noktaya kadar yeniden oynatılmasına izin verir.
Doğrulama okuma aşaması için.

doğrulama_durumu_yükü=bool
Bir doğrulama sonlandırma tetikleyicisi kullanıldıysa, fio, şu anki yazma durumunu depolar.
her iş parçacığı. Bu, doğrulama zamanında kullanılabilir, böylece fio ne kadar uzakta olduğunu bilir.
doğrulamalıdır. Bu bilgi olmadan, fio tam bir doğrulama geçişi gerçekleştirecektir,
kullanılan iş dosyasındaki ayarlara göre.

taş duvar , bekle_for_previous
Bunu başlatmadan önce iş dosyasındaki önceki işlerin çıkmasını bekleyin.
taş duvar ima yeni Grup.

yeni Grup
Yeni bir raporlama grubu başlatın. Verilmezse, bir dosyadaki tüm işler,
bir duvarla ayrılmadıkça, aynı raporlama grubu.

uyuşturma=int
Bu işin klon sayısı (aynı iş yükünü gerçekleştiren işlemler/işlemler).
Varsayılan: 1.

grup_raporlaması
Ayarlanırsa, şu durumlarda iş başına yerine grup başına raporları görüntüleyin: uyuşturma belirtilir.

iplik İle oluşturulan konuları kullanın pthread_create(3) ile oluşturulan süreçler yerine
çatal(2).

bölge boyutu=int
Dosyayı bayt cinsinden belirtilen boyuttaki bölgelere ayırın. Görmek bölge atlama.

bölge aralığı=int
Bir IO bölgesinin boyutunu verin. Görmek bölge atlama.

bölge atlama=int
Belirtilen bayt sayısını atla bölge boyutu baytlarca veri okunmuştur.

write_iolog=str
Verilen G/Ç modellerini belirtilen dosyaya yazın. için ayrı bir dosya belirtin
aksi takdirde iologlar serpiştirilir ve dosya bozulabilir.

oku_iolog=str
tarafından oluşturulan belirtilen dosyada bulunan G/Ç modellerini yeniden oynatın. write_iolog,
veya olabilir blktrace ikili dosya.

replay_no_stall=int
G/Ç desenlerini kullanarak yeniden yürütürken oku_iolog varsayılan davranış denemeleri
G/Ç'ler arasındaki zamanlama bilgilerine saygı gösterin. etkinleştirme replay_no_stall I/O'lara neden olur
siparişe saygı duymaya devam ederken mümkün olduğunca hızlı tekrar oynatılabilir.

tekrar_yönlendirme=str
G/Ç desenlerini kullanarak yeniden yürütürken oku_iolog varsayılan davranış,
Her GİB'nin kaydedildiği majör/minör cihaza IOPS. Ayar
tekrar_yönlendirme tüm IOPS'nin belirtilen tek cihazda yeniden oynatılmasına neden olur
kaydedildiği cihazdan bağımsız olarak.

tekrar_align=int
Bir izdeki IO ofsetlerinin ve uzunluklarının hizalanmasını bu 2 değerine zorlayın.

yeniden oynatma ölçeği=int
İzler yeniden oynatılırken ölçek sektörü bu faktör tarafından aşağı doğru kaydırılır.

per_job_logs=bool
Ayarlanırsa, bu, dosya başına özel dosya adlarıyla bw/clat/iops günlüğü oluşturur. değilse
ayarlandığında, aynı adlara sahip işler günlük dosya adını paylaşır. Varsayılan: doğru.

write_bw_log=str
Verilmişse, bu iş dosyasındaki işlerin bir bant genişliği günlüğünü yazın. saklamak için kullanılabilir
ömürleri boyunca işlerin bant genişliği verileri. dahil
fio_generate_plots betiği, bu metin dosyalarını güzel grafiklere dönüştürmek için gnuplot kullanır.
Yerimizi write_lat_log verilen dosya adının davranışı için. Bu seçenek için, postfix
_bw.x.log, burada x işin indeksidir (1..N, burada N iş sayısıdır).
If per_job_logs false ise dosya adı iş dizinini içermez.

write_lat_log=str
Aynısı write_bw_log, ancak G/Ç tamamlama gecikmelerini yazar. Dosya adı verilmezse
bu seçenekle, "jobname_type.x.log" dosyasının varsayılan dosya adı kullanılır, burada x
işin dizini (1..N, burada N iş sayısıdır). Dosya adı olsa bile
verilen, fio yine de günlük türünü ekleyecektir. Eğer per_job_logs yanlıştır, o zaman
dosya adı iş dizinini içermeyecektir.

write_iops_log=str
Aynısı write_bw_log, ancak IOPS yazar. Bu seçenekle dosya adı verilmezse,
"jobname_type.x.log" dosyasının varsayılan dosya adı kullanılır, burada x,
iş (1..N, burada N iş sayısıdır). Dosya adı verilse bile, fio
yine de günlük türünü ekleyin. Eğer per_job_logs false ise dosya adı
iş indeksini içerir.

günlük_ortalama_msn=int
Varsayılan olarak, fio, giriş yapılan her IO için iops, gecikme veya bw günlüğüne bir giriş kaydeder.
tamamlar. Disk günlüğüne yazarken, bu hızla çok büyüyebilir
boyut. Bu seçeneğin ayarlanması, fio'nun her günlük girişinin belirtilen değer üzerinden ortalamasını yapar.
zaman periyodu, günlüğün çözünürlüğünü azaltır. Varsayılan olarak 0'dır.

log_offset=bool
Bu ayarlanırsa, iolog seçenekleri IO girişi için bayt ofsetini şu şekilde içerecektir:
yanı sıra diğer veri değerleri.

log_compression=int
Bu ayarlanırsa, fio, belleği korumak için IO günlüklerini olduğu gibi sıkıştıracaktır.
ayak izi daha düşük. Bir günlük belirtilen boyuta ulaştığında, o yığın kaldırılır ve
arka planda sıkıştırılmış. GÇ günlüklerinin oldukça yüksek oranda sıkıştırılabilir olduğu göz önüne alındığında,
bu, daha uzun çalıştırmalar için güzel bir bellek tasarrufu sağlar. Dezavantajı ise,
sıkıştırma, bazı arka plan CPU döngülerini tüketeceğinden çalıştırmayı etkileyebilir.
Ancak bu, günlüğe kaydetme işlemi sistemin çoğunu tüketirse de geçerlidir.
hafıza. Öyleyse zehrini seç. IO günlükleri, bir çalıştırmanın sonunda normal olarak şu şekilde kaydedilir:
parçaların sıkıştırılması ve belirtilen günlük dosyasında saklanması. Bu özellik
zlib'in kullanılabilirliğine bağlıdır.

log_store_compressed=bool
ayarlanırsa ve log_compression da ayarlanır, fio günlük dosyalarını bir
sıkıştırılmış biçimi. kullanılarak, fio ile sıkıştırılabilirler. --şişirme-günlüğü
komut satırı parametresi. Dosyalar bir .fz soneki.

blok_hata_percentiles=bool
Ayarlanırsa, yazma ve kırpma işlemlerindeki hataları blok boyutunda birimler halinde kaydedin ve bir
hatalara ulaşmak için kaç kırpma gerektiğini ve ne tür bir hata olduğunu gösteren histogram
karşılaştı.

devre dışı bırak_lat=bool
Toplam gecikme sayısı ölçümlerini devre dışı bırakın. Sadece geri kesmek için kullanışlıdır
arama sayısı gettimeofday(2), performansı gerçekten yüksek düzeyde etkilediği için
IOPS oranları. Bu aramaların büyük bir kısmından gerçekten kurtulmak için, bu
seçeneği, disable_slat ve disable_bw ile de kullanılmalıdır.

devre dışı bırak_clat=bool
Tamamlama gecikme sayıları ölçümlerini devre dışı bırakın. Görmek devre dışı bırak_lat.

devre dışı bırak_slat=bool
Gönderim gecikme sayıları ölçümlerini devre dışı bırakın. Görmek devre dışı bırak_lat.

devre dışı_bw_measurement=bool
Verim/bant genişliği sayılarının ölçümlerini devre dışı bırakın. Görmek devre dışı bırak_lat.

kilit=int
Belirtilen miktarda bellek ile sabitleyin Mlock(2). simüle etmek için kullanılabilir
daha az bellek miktarı. Belirtilen miktar işçi başınadır.

exec_prerun=str
İşi çalıştırmadan önce, belirtilen komutu şununla yürütün: sistem(3).
Çıktı, adlı bir dosyaya yönlendirilir. işadı.prerun.txt

yürütme_postrun=str
Aynısı exec_prerun, ancak komut, iş tamamlandıktan sonra yürütülür.
Çıktı, adlı bir dosyaya yönlendirilir. işadı.postrun.txt

zamanlayıcı=str
Dosyayı barındıran cihazı belirtilen G/Ç planlayıcısına geçirmeyi deneyin.

disk_util=bool
Platform destekliyorsa disk kullanım istatistiklerini oluşturun. Varsayılan: doğru.

saat kaynağı=str
Verilen saat kaynağını zamanlamanın temeli olarak kullanın. Desteklenen seçenekler şunlardır:

gettimeofday
gettimeofday(2)

saat_gettime
saat_gettime(2)

cpu Dahili CPU saat kaynağı

cpu çok hızlı olduğu için güvenilir ise tercih edilen saat kaynağıdır
(ve fio, zaman aramalarında ağırdır). Fio, aşağıdaki durumlarda otomatik olarak bu saat kaynağını kullanır:
Çalıştığı sistemde desteklenir ve güvenilir kabul edilir, sürece
başka bir saat kaynağı özel olarak ayarlanmıştır. x86/x86-64 CPU'lar için bu,
TSC Değişmez.

gtod_reduce=bool
Tümünü etkinleştir gettimeofday(2) seçenekleri azaltma (disable_clat, disable_slat,
disable_bw) artı gerçekten küçültmek için zaman aşımının kesinliğini biraz azaltın
gettimeofday(2) çağrı sayısı. Bu seçenek etkinleştirildiğinde, yalnızca yaklaşık %0.4'ünü yaparız.
gtod() çağrıları, tüm zaman tutma etkinleştirilmiş olsaydı yapardık.

gtod_cpu=int
Bazen tek bir yürütme iş parçacığını yalnızca
şimdiki zaman. Fio (ve örneğin veritabanları) üzerinde çok yoğun
gettimeofday(2) aramalar. Bu seçenekle, bir CPU'yu yapmak için bir kenara koyabilirsiniz.
geçerli saati paylaşılan bir hafıza konumuna kaydetmekten başka bir şey değil. sonra diğeri
GÇ iş yüklerini çalıştıran iş parçacıklarının/işlemlerin yerine yalnızca o segmenti kopyalaması gerekir.
ile çekirdeğe girmek gettimeofday(2) çağrı. CPU bunları yapmak için ayrılmış
zaman aramaları diğer kullanımların dışında tutulacaktır. Fio bunu manuel olarak sistemden temizleyecektir.
Diğer işlerin CPU maskesi.

görmezden_hata=str
Bazen test sırasında bazı hataları yok saymak istersiniz bu durumda belirtebilirsiniz
her bir hata türü için hata listesi.
yoksay_error=READ_ERR_LIST,WRITE_ERR_LIST,VERIFY_ERR_LIST
verilen hata türü için hatalar ':' ile ayrılır. Hata sembolü olabilir ('ENOSPC',
'ENOMEM') veya bir tamsayı.
Örnek: görmezden_hata=EAGAIN,ENOSPC:122 .
Bu seçenek, READ'den EAGAIN'i ve WRITE'tan ENOSPC ve 122(EDQUOT)'u yok sayar.

hata dökümü=bool
Ayarlanırsa, ölümcül olmasa bile her hatayı boşaltır, varsayılan olarak doğrudur. Yalnızca devre dışı bırakılırsa
ölümcül hata atılacak

profil=str
Belirli bir yerleşik performans testi seçin.

grup=str
Bu kontrol grubuna iş ekleyin. Eğer yoksa yaratılacaktır. sistem
Bunun çalışması için monte edilmiş bir cgroup blkio bağlama noktasına sahip olmalıdır. eğer sisteminiz
takılı değil, şununla yapabilirsiniz:

# mount -t grup -o blkio yok / grup

grup_ağırlığı=int
Grubun ağırlığını bu değere ayarlayın. Birlikte gelen belgelere bakın
çekirdek, izin verilen değerler 100..1000 aralığındadır.

cgroup_nodelete=bool
Normalde fio, iş tamamlandıktan sonra oluşturduğu grupları siler. İle
bu davranışı geçersiz kılmak ve iş tamamlandıktan sonra grupları etrafta bırakmak için
cgroup_nodelete=1. Bu, çeşitli grup dosyalarını incelemek istiyorsa faydalı olabilir.
iş tamamlandıktan sonra. Varsayılan: yanlış

uid=int
Çağıran kullanıcı olarak çalıştırmak yerine, kullanıcı kimliğini çalıştırmadan önce bu değere ayarlayın.
iş parçacığı/işlem herhangi bir iş yapar.

delibaş=int
Grup kimliğini ayarlayın, bkz. uid.

birim_baz=int
Raporlama için temel birim. İzin verilen değerler:

0 Otomatik algılamayı kullan (varsayılan).

8 Bayt tabanlı.

1 Bit tabanlı.

akış_kimliği=int
Akışın kimliği. Belirtilmezse, varsayılan olarak global bir akış olur. Görmek akış.

akış=int
Belirteç tabanlı akış kontrolünde ağırlık. Bu değer kullanılırsa, bir akış
karşı iki veya daha fazla kişi arasındaki aktivite oranını düzenlemek için kullanılan
Meslekler. fio bu akış sayacını sıfıra yakın tutmaya çalışır. bu akış parametre standları
her yinelemede akış sayacına ne kadar eklenmesi veya çıkarılması gerektiği konusunda
ana G/Ç döngüsü. Yani, eğer bir iş varsa akış=8 ve başka bir işi var akış=-1, Daha sonra
birinin diğerine karşı ne kadar koştuğu konusunda kabaca 1:8'lik bir oran olacaktır.

akış_filigranı=int
Akış sayacının mutlak değerinin ulaşmasına izin verilen maksimum değer
iş önce sayacın daha düşük bir değerini beklemelidir.

akış_uyku=int
Akış filigranı oluşturulduktan sonra beklenecek mikrosaniye cinsinden süre
işlemleri yeniden denemeden önce aşıldı

clat_percentiles=bool
Tamamlama gecikmelerinin yüzdelik dilimlerinin raporlanmasını etkinleştirin.

yüzdelik_liste=kayan_liste
Tamamlama gecikmeleri ve blok için varsayılan yüzdelikler listesinin üzerine yaz
hata histogramı. Her sayı (0,100) aralığında bir kayan sayıdır ve
Listenin maksimum uzunluğu 20'dir. Numaraları ayırmak için ':' kullanın. Örneğin,
--percentile_list=99.5:99.9 fio'nun tamamlama değerlerini bildirmesine neden olur
altında gözlemlenen gecikmelerin sırasıyla %99.5 ve %99.9'u düştü.

motor parametreler Liste
Bazı parametreler yalnızca belirli bir ioengine kullanımdayken geçerlidir. bunlar kullanılır
normal parametrelerle aynı şekilde, komut satırında kullanıldığında,
ioengine'den sonra gelmelidir.

(işlemci) işlemci yükü=int
Belirtilen CPU döngü yüzdesini kullanmayı deneyin.

(işlemci) işlemci birimleri=int
Yükü verilen zamanın döngülerine bölün. Mikrosaniye cinsinden.

(işlemci)exit_on_io_done=bool
IO iş parçacıklarının ne zaman yapıldığını tespit edin, ardından çıkın.

(libaio)userspace_reap
Normalde, libaio motoru kullanımdayken fio, io_getevents sistem çağrısını kullanır.
yeni döndürülen olayları toplamak için. Bu bayrak açıldığında, AIO halkası okunacaktır.
olayları toplamak için doğrudan kullanıcı alanından. Hasat modu yalnızca şu durumlarda etkinleştirilir:
minimum 0 olay için yoklama (örneğin, iodepth_batch_complete=0 olduğunda).

(net,netsplice)ana bilgisayar adı=str
TCP veya UDP tabanlı IO için kullanılacak ana bilgisayar adı veya IP adresi. İş bir TCP ise
dinleyici veya UDP okuyucu, ana bilgisayar adı kullanılmaz ve bir
geçerli UDP çok noktaya yayın adresi.

(net,netsplice)bağlantı noktası=int
Bağlanmak veya bağlanmak için TCP veya UDP bağlantı noktası. Bu ile kullanılırsa uyuşturma yumurtlamak
aynı iş türünün birden çok örneği varsa, bu başlangıç ​​bağlantı noktası numarası olacaktır
çünkü fio bir dizi bağlantı noktası kullanacaktır.

(net,netsplice)arayüz=str
UDP çok noktaya yayın göndermek veya almak için kullanılan ağ arabiriminin IP adresi
paketler.

(net,netsplice)ttl=int
Giden UDP çok noktaya yayın paketleri için yaşam süresi değeri. Varsayılan: 1

(net,netsplice)düğüm gecikmesi=bool
TCP bağlantılarında TCP_NODELAY ayarlayın.

(net,netsplice)protokolü=str, bu nedenle=str
Kullanılacak ağ protokolü. Kabul edilen değerler:

tcp Geçiş kontrol protokolü

tcpv6 İletim kontrol protokolü V6

udp Kullanıcı Datagram Protokolü

udpv6 Kullanıcı datagram protokolü V6

unix UNIX etki alanı soketi

Protokol TCP veya UDP olduğunda, bağlantı noktasının yanı sıra bağlantı noktası da verilmelidir.
iş bir TCP dinleyicisi veya UDP okuyucusuysa ana bilgisayar adı. Unix soketleri için normal
dosya adı seçeneği kullanılmalı ve bağlantı noktası geçersiz.

(net,netsplice)dinle
TCP ağ bağlantıları için, fio'ya gelen bağlantıları dinlemesini söyleyin.
giden bir bağlantı başlatmaktan daha iyidir. Bu seçenek varsa ana bilgisayar adı atlanmalıdır.
kullanıldı.

(ağ,masa Tenisi)=bool
Normalde bir ağ yazıcısı veri yazmaya devam eder ve bir ağ okuyucusu
sadece paketleri tüketecek. pingpong=1 ayarlanmışsa, bir yazar normal mesajını gönderir.
okuyucuya yük, ardından okuyucunun aynı yükü geri göndermesini bekleyin.
Bu, fio'nun ağ gecikmelerini ölçmesini sağlar. Teslim ve tamamlama
gecikmeler daha sonra gönderme veya alma için harcanan yerel zamanı ve tamamlama süresini ölçer.
gecikme, diğer ucun alıp geri göndermesinin ne kadar sürdüğünü ölçer. İçin
UDP çok noktaya yayın trafiği pingpong=1, yalnızca şu durumlarda tek bir okuyucu için ayarlanmalıdır:
birden fazla okuyucu aynı adresi dinliyor.

(ağ,Pencere boyutu)=int
Bağlantı için istenen soket arabellek boyutunu ayarlayın.

(ağ,msn)=int
TCP maksimum segment boyutunu (TCP_MAXSEG) ayarlayın.

(e4defrag,bağışçı adı)=str
Dosya, blok verici olarak kullanılacaktır (dosyalar arasında takas uzantıları)

(e4defrag,yerinde)=int
Donör dosya blok ayırma stratejisini yapılandırın
0 (varsayılan): Bağışçının dosyasını init'te önceden tahsis edin

1: birleştirme olayının hemen içinde yer ayırın ve hemen sonra serbest bırakın
olay

(rbd)rbdadı=str
RBD'nin adını belirtir.

(rbd)havuz=str
RBD'yi içeren Ceph havuzunun adını belirtir.

(rbd) müşteri adı=str
Ceph'e erişmek için kullanılan kullanıcı adını ('istemci' öneki olmadan) belirtir.
küme.

(mtd)atlama kötü=bool
Bilinen bozuk bloklara karşı işlemleri atlayın.

ÇIKTI


Koşarken, fio oluşturulan işlerin durumunu görüntüler. Örneğin:

Konular: 1: [_r] [%24.8 tamamlandı] [13509/8334 kb/sn] [eta 00h:01dk:31sn]

İlk parantez setindeki karakterler, her bir iş parçacığının mevcut durumunu gösterir.
Olası değerler şunlardır:

P Kurulum ancak başlamadı.
C Konu oluşturuldu.
I Başlatıldı, bekleniyor.
R Koşmak, sıralı okumalar yapmak.
r Koşmak, rastgele okumalar yapmak.
W Koşma, sıralı yazma yapma.
w Koşuyor, rastgele yazıyor.
M Koşmak, karışık sıralı okuma/yazma işlemleri yapmak.
m Koşmak, karışık rastgele okuma/yazma yapmak.
F Çalışıyor, şu anda bekliyor fsync(2).
V Çalıştırma, yazılı verileri doğrulama.
E Çıkıldı, ana iş parçacığı tarafından hasat edilmedi.
- Çıkıldı, iplik hasat edildi.

İkinci parantez seti, mevcut grubun tahmini tamamlanma yüzdesini gösterir.
Üçüncü grup sırasıyla okuma ve yazma G/Ç oranını gösterir. Son olarak, tahmini çalıştırma
işin süresi görüntülenir.

Ne zaman fio tamamlar (veya Ctrl-C tarafından kesilir), her bir iş parçacığı için verileri gösterir, her biri
iş parçacığı grubu ve her disk bu sırayla.

İş parçacığı başına istatistikler önce iş parçacığı istemci numarasını, grup kimliğini ve hata kodunu gösterir. bu
kalan rakamlar şu şekilde:

io Gerçekleştirilen megabayt G/Ç sayısı.

bw Ortalama veri hızı (bant genişliği).

bücür Konular çalışma süresi.

çıta Gönderim gecikmesi minimum, maksimum, ortalama ve standart sapma. Bu
G/Ç'yi göndermek için geçen süre.

çıta Tamamlama gecikmesi minimum, maksimum, ortalama ve standart sapma. Bu
teslim ve tamamlama arasındaki zamandır.

bw Bant genişliği minimum, maksimum, alınan toplam bant genişliği yüzdesi,
ortalama ve standart sapma.

cpu CPU kullanım istatistikleri. Kullanıcı ve sistem zamanını, bağlam sayısını içerir
bu iş parçacığının geçtiği anahtarlar ve büyük ve küçük sayfa hatalarının sayısı.

IO derinlikleri
G/Ç derinliklerinin dağılımı. Her derinlik, (veya
eşit), ancak önceki derinlikten daha büyük.

IO ihraç
Yayınlanan okuma/yazma isteklerinin sayısı ve kısa okuma/yazma sayısı
istekleri.

IO gecikmeler
G/Ç tamamlama gecikmelerinin dağılımı. Rakamlar aynı şekilde
desen olarak IO derinlikleri.

Grup istatistikleri şunları gösterir:
io Gerçekleştirilen megabayt G/Ç sayısı.
agrb Gruptaki iş parçacıklarının toplam bant genişliği.
dakika b Bir iplik testeresinin minimum ortalama bant genişliği.
maksimum Bir iplik testeresinin maksimum ortalama bant genişliği.
nane Gruptaki en kısa iş parçacığı çalışma süresi.
maksimum Gruptaki en uzun iş parçacığı çalışma süresi.

Son olarak, disk istatistikleri önce okumalarla yazdırılır:
ios Tüm gruplar tarafından gerçekleştirilen G/Ç sayısı.
birleştirme G/Ç zamanlayıcısındaki birleştirme sayısı.
keneler Diski meşgul tuttuğumuz tik sayısı.
io_queue
Disk kuyruğunda harcanan toplam süre.
İşe yarar Disk kullanımı.

Çalışırken mevcut çıktıyı boşaltmak için fio almak da mümkündür.
işi sona erdirmek. Bunu yapmak için fio 1 dolar sinyali.

kısa ve öz ÇIKTI


Eğer --en az / --ek-kısa seçenekler verilir, sonuçlar yazdırılır/eklenir
komut dosyasıyla kullanıma uygun noktalı virgülle ayrılmış biçimde. Bir iş tanımı (eğer
sağlanan) yeni bir satırda takip eder. Satırdaki ilk sayının sürüm olduğunu unutmayın.
numara. Herhangi bir nedenle çıktının değiştirilmesi gerekiyorsa, bu sayı artırılacaktır.
1 ile bu değişikliği belirtmek için. Alanlar şunlardır:

kısa versiyonu fio versiyonu iş adı, Grup kimliği, hata

durumu oku:
Toplam I / O (BB), bant genişliği (KB/sn), IOPS, runtime (MS)

Gönderim gecikmesi:
dakika, max, anlamına gelmek, standart sapma
Tamamlama gecikmesi:
dakika, max, anlamına gelmek, standart sapma
Tamamlama gecikmesi yüzdelikleri (20 alan):
X. yüzdelik=kullanım
Toplam gecikme:
dakika, max, anlamına gelmek, standart sapma
Bant genişliği:
dakika, max, toplam yüzde of Toplam, anlamına gelmek, standart sapma

durumu yaz:
Toplam I / O (BB), bant genişliği (KB/sn), IOPS, runtime (MS)

Gönderim gecikmesi:
dakika, max, anlamına gelmek, standart sapma
Tamamlama gecikmesi:
dakika, max, anlamına gelmek, standart sapma
Tamamlama gecikmesi yüzdelikleri (20 alan):
X. yüzdelik=kullanım
Toplam gecikme:
dakika, max, anlamına gelmek, standart sapma
Bant genişliği:
dakika, max, toplam yüzde of Toplam, anlamına gelmek, standart sapma

CPU kullanımı:
kullanıcı, sistem, bağlam anahtarlar, büyük Kanal hatalar, küçük Kanal faylar

IO derinlik dağılımı:
<=1, 2, 4, 8, 16, 32, > = 64

GÇ gecikme dağılımı:
Mikrosaniye:
<=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000
Milisaniye:
<=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, 2000, > = 2000

Disk kullanımı (kullanılan her disk için 1):
, isim okumak ios, yazmak ios, okumak birleşir, yazmak birleşir, okumak keneler, yazmak
keneler, okumak sırada zaman, yazmak sırada zaman, disk kullanım yüzde

Hata Bilgisi (continue_on_error'a bağlı, varsayılan olarak kapalı):
Genel Toplam # hatalar, ilk hata kod

metin tanım (Eğer sağlanan in yapılandırma - belirir on Yeni hat)

MÜŞTERİ / SUNUCU


Normalde fio'yu IO'nun bulunduğu makinede bağımsız bir uygulama olarak çalıştırırsınız.
iş yükü oluşturulmalıdır. Ancak, ön ucu ve arka ucu çalıştırmak da mümkündür.
ayrı ayrı. Bu, makine(ler)de çalışan bir fio sunucusuna sahip olmayı mümkün kılar.
IO iş yükünün başka bir makineden kontrol edilirken çalışması gereken yer.

Sunucuyu başlatmak için şunları yaparsınız:

fio --sunucu=args

args'nin fio'nun neyi dinlediğini tanımladığı o makinede. Argümanlar şu şekildedir:
'type:hostname veya IP:port'. 'type', TCP/IP v4, TCP/IP için 'ip4' için 'ip' (veya ip6)
v6 veya yerel bir unix etki alanı soketi için 'sock'. 'hostname' bir ana bilgisayar adı veya IP'dir
adres ve 'port' dinlenecek bağlantı noktasıdır (yerel bir soket için değil, yalnızca TCP/IP için geçerlidir).
Bazı örnekler:

1) fio --sunucu

Varsayılan bağlantı noktasındaki (8765) tüm arabirimleri dinleyerek bir fio sunucusu başlatın.

2) fio --server=ip:ana bilgisayar adı,4444

Ana bilgisayar adına ve 4444 numaralı bağlantı noktasına ait IP'yi dinleyerek bir fio sunucusu başlatın.

3) fio --server=ip6:::1,4444

IPv6 localhost ::1 ve 4444 numaralı bağlantı noktasını dinleyerek bir fio sunucusu başlatın.

4) fio --sunucu=,4444

4444 numaralı bağlantı noktasındaki tüm arabirimleri dinleyerek bir fio sunucusu başlatın.

5) fio --sunucu=1.2.3.4

Varsayılan bağlantı noktasında IP 1.2.3.4'ü dinleyerek bir fio sunucusu başlatın.

6) fio --server=sock:/tmp/fio.sock

/tmp/fio.sock yerel soketini dinleyerek bir fio sunucusu başlatın.

Bir sunucu çalışırken, ona bir istemciden bağlanabilirsiniz. İstemci ile çalıştırılır:

fio --local-args --client=sunucu --remote-args

burada --local-args, çalıştığı istemci için yerel olan argümanlardır,
'sunucu' bağlantı dizesidir ve --remote-args ve gönderilir
sunucu. 'Sunucu' dizesi, sunucu tarafında olduğu gibi aynı formatı takip eder.
IP/ana bilgisayar adı/soket ve bağlantı noktası dizelerine izin verin. Birden fazla müşteriye de bağlanabilirsiniz,
bunu yapmak için koşabilirsin:

fio --client=sunucu2 --client=sunucu2

İş dosyası fio sunucusunda bulunuyorsa, sunucuya yerel bir dosya yüklemesini söyleyebilirsiniz.
dosya da. Bu --remote-config kullanılarak yapılır:

fio --client=sunucu --remote-config /path/to/file.fio

Daha sonra fio, bu yerel (sunucuya) iş dosyasını birinden geçirilmek yerine açacaktır.
müşteri.

Çok sayıda sunucunuz varsa (örnek: 100 VM/konteyner), bir dosyanın yol adını girebilirsiniz.
--client seçeneği için parametre değeri olarak ana bilgisayar IP'lerini/adlarını içerir. Örneğin,
2 ana bilgisayar adı içeren örnek bir "host.list" dosyası:

host1.dns.alanınız
host2.dns.alanınız

fio komutu daha sonra şöyle olacaktır:

fio --client=host.list

Bu modda, sunucuya özel parametreleri veya iş dosyalarını ve tüm sunucuları giremezsiniz.
aynı iş dosyasını alın.

fio --client'in birden çok ana bilgisayardan paylaşılan bir dosya sistemi kullanarak çalışmasını etkinleştirmek için,
fio --client şimdi sunucunun IP adresini dosya adının başına ekler. örneğin, eğer
fio, /mnt/nfs/fio dizinini kullanıyor ve --client ile fileio.tmp dosya adını yazıyor
1 IP adreslerine sahip h2 ve h192.168.10.120 iki ana bilgisayar adını içeren ana bilgisayar dosyası ve
192.168.10.121, ardından fio iki dosya oluşturacaktır:

/mnt/nfs/fio/192.168.10.120.fileio.tmp
/mnt/nfs/fio/192.168.10.121.fileio.tmp

YAZARLAR


fio Jens Axboe tarafından yazılmıştır.[e-posta korumalı]>, şimdi Jens Axboe[e-posta korumalı]>.
Bu adam sayfası Aaron Carroll tarafından yazılmıştır.[e-posta korumalı]> belgelere dayalı
Jens Axboe'nun fotoğrafı.

RAPORLAMA BÖCEK


Hataları şuraya bildirin fio mail listesi[e-posta korumalı]>. Görmek README.

onworks.net hizmetlerini kullanarak fio'yu çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

  • 1
    YükleyiciF
    YükleyiciF
    PostInstallerF tüm
    Fedora Linux ve diğerlerinin kullandığı yazılım
    varsayılan olarak içermez, sonra
    Fedora'yı ilk kez çalıştırıyor. Onun
    için kolay...
    PostInstallerF'i indirin
  • 2
    iz
    iz
    strace projesi şuraya taşındı:
    https://strace.io. strace is a
    teşhis, hata ayıklama ve eğitim
    Linux için kullanıcı alanı izleyicisi. kullanılır
    izlemek için...
    strace'i indir
  • 3
    gMKVÖzetGUI
    gMKVÖzetGUI
    mkvextract yardımcı programı için bir GUI (bir parçası
    MKVToolNix) çoğu içerir (eğer
    tümü değil) mkvextract'ın işlevselliği ve
    mkvinfo yardımcı programları. C#NET 4.0 ile yazılmış...
    gMKVExtractGUI'yi indirin
  • 4
    JasperReports Kitaplığı
    JasperReports Kitaplığı
    JasperReports Kitaplığı
    dünyanın en popüler açık kaynağı
    iş zekası ve raporlama
    motor. Tamamen Java ile yazılmıştır.
    ve bunu yapabiliyor...
    JasperReports Kitaplığını İndirin
  • 5
    Frappe Kitapları
    Frappe Kitapları
    Frappe Books ücretsiz ve açık bir kaynaktır
    masaüstü defter tutma yazılımı
    tarafından kullanılmak üzere basit ve iyi tasarlanmış
    küçük işletmeler ve serbest çalışanlar. Bilişim Teknoloji'...
    Frappe Kitaplarını İndirin
  • 6
    sayısal Python
    sayısal Python
    HABER: NumPy 1.11.2 son sürümdür
    bu sourceforge üzerinde yapılacaktır. tekerlekler
    Windows, Mac ve Linux için olduğu kadar
    arşivlenmiş kaynak dağıtımları...
    Sayısal Python'u İndirin
  • Daha fazla »

Linux komutları

Ad