นี่คือช่องคำสั่งที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
spew - วัดประสิทธิภาพ I/O และ/หรือสร้างโหลด I/O
เรื่องย่อ
พ่น --write|--อ่าน|--อ่านหลังเขียน [ทางเลือกที่] ... โอน_SIZE[kKmMgG] ไฟล์
DESCRIPTION
เครื่องมือวัดประสิทธิภาพ I/O และเครื่องมือสร้างโหลด การเขียนและ/หรือการอ่านที่สร้างขึ้น
ข้อมูลไปยังหรือจากอุปกรณ์ตัวละคร อุปกรณ์บล็อก หรือไฟล์ปกติ
-B, --max-บัฟเฟอร์-ขนาด=บัฟเฟอร์_SIZE
แต่ละ อ่าน(2) /เขียน(2) การเรียกใช้บัฟเฟอร์ขนาดสูงสุด BUFFER_SIZE
-b, --min-บัฟเฟอร์-ขนาด=บัฟเฟอร์_SIZE
แต่ละ อ่าน(2) /เขียน(2) การโทรใช้บัฟเฟอร์ขั้นต่ำขนาด BUFFER_SIZE
-c, --continue-หลังจาก-ข้อผิดพลาด
ดำเนินการต่อหลังจากข้อผิดพลาดด้านความสมบูรณ์ของข้อมูล
-d, --โดยตรง
ใช้ I/O โดยตรง ควรใช้กับไฟล์อุปกรณ์ที่ถูกบล็อกเท่านั้น ใช้งานไม่ได้ทั้งหมด
ระบบรองรับ I/O . โดยตรง
-g, --สร้าง-โหลด
เทียบเท่ากับ: -v -t -P -p สุ่ม -i 0.
-i, --วนซ้ำ=COUNT
เขียน/อ่านข้อมูล COUNT ครั้ง หากนับเป็น 0 จะทำซ้ำตลอดไป
-l, --ล็อกไฟล์=ล็อกไฟล์
ส่งข้อความบันทึกไปที่ LOGFILE
--ไม่มีความคืบหน้า
ไม่แสดงความคืบหน้า (ค่าเริ่มต้น)
--no-rcfiles
อย่าใช้ rcfiles มาตรฐาน
-q, --ไม่มีสถิติ
อย่าส่งออกสถิติ
--ไม่-ตุ๋ย
อย่าใช้อินเทอร์เฟซ TUI
-o, --ออฟเซ็ต=OFFSET
หา OFFSET ก่อนเริ่ม I/O
-P, --ความคืบหน้า
แสดงความคืบหน้า
-p, --ลวดลาย=รูปแบบ
ใช้รูปแบบข้อมูล PATTERN เมื่ออ่านหรือเขียนข้อมูล
-r, --สุ่ม
อ่าน/เขียนบัฟเฟอร์เพื่อสุ่มออฟเซ็ต
--ดิบ นามแฝงสำหรับ --อ่าน-หลัง-เขียน.
--rcfile=RCFILE
อ่านตัวเลือกบรรทัดคำสั่งจาก RCFILE
--อ่าน อ่านวันที่จาก FILE
--อ่าน-หลัง-เขียน
อ่านข้อมูลย้อนหลังหลังจากเขียนไปยัง FILE
-S, --เมล็ด=SEED
ใช้ SEED สำหรับเมล็ดตัวเลขสุ่ม
-s, --ซิงค์
ใช้ I/O แบบซิงโครนัส
--สถิติ
สถิติเอาต์พุต (ค่าเริ่มต้น)
-t, --ตุ้ย
ใช้อินเทอร์เฟซผู้ใช้เทอร์มินัลตามคำสาป
-u, --หน่วย=UNITS
แสดงอัตราการถ่ายโอนในหน่วย UNITS
--การใช้งาน
แสดงข้อความการใช้งานสั้นๆ และออก
-V, --รุ่น
ข้อมูลเวอร์ชันเอาต์พุตและการออก
-v, --รายละเอียด-สถิติ
แสดงผลสถิติโดยละเอียด
--เขียน
เขียนข้อมูลไปยัง FILE
- --ช่วยด้วย
แสดงความช่วยเหลือนี้และออก
FILE ไฟล์ปกติหรือไฟล์อุปกรณ์ที่จะเขียนข้อมูล
ล็อกไฟล์
เส้นทางไปยังไฟล์ที่ใช้สำหรับบันทึก
MAX_BUFFER_SIZE
ขนาดบัฟเฟอร์ต่ำสุดที่ใช้ในแต่ละ อ่าน(2) /เขียน(2) โทร (ค่าเริ่มต้นคือ MIN_BUFFER_SIZE
ไบต์) MAX_BUFFER_SIZE. ต้องเป็นจำนวนคู่ของ 512 ไบต์และสามารถเป็นได้
ระบุเป็นไบต์, กิโลไบต์(k), กิโลไบต์(K), เมบิไบต์(ม.), เมกะไบต์(M),
กิบิไบต์(g), กิกะไบต์(G) เทบิไบต์(t) หรือเทราไบต์(T) MAX_BUFFER_SIZE
ค่าเริ่มต้นเป็น MIN_BUFFER_SIZE ถ้า MAX_BUFFER_SIZE > MIN_BUFFER_SIZE สุ่มบัฟเฟอร์
ใช้ขนาดระหว่างขีดจำกัดทั้งสอง MAX_BUFFER_SIZE ต้องเป็นทวีคูณของ
MIN_BUFFER_SIZE
MIN_BUFFER_SIZE
ขนาดบัฟเฟอร์ต่ำสุดที่ใช้ในแต่ละ อ่าน(2) /เขียน(2) โทร (ค่าเริ่มต้นคือ 512 ไบต์)
MIN_BUFFER_SIZE. ต้องเป็นจำนวนเท่าของ 512 ไบต์และสามารถระบุได้ใน
ไบต์, กิโลไบต์(k), กิโลไบต์(K), เมบิไบต์(ม.), เมกะไบต์(M), กิบิไบต์(ก.),
กิกะไบต์ (G) เทบิไบต์(t) หรือเทราไบต์(T)
OFFSET ตำแหน่งที่จะค้นหาในไฟล์ก่อนเริ่ม I/O (ค่าเริ่มต้นคือ 0) OFFSET ต้องเป็น
หลายเท่าของ 512 ไบต์และสามารถระบุเป็นไบต์ kibibytes(k)
กิโลไบต์ (K), เมบิไบต์(m), เมกะไบต์(M), กิบิไบต์(g), กิกะไบต์(G)
เทบิไบต์(t) หรือเทราไบต์(T)
รูปแบบ
รูปแบบข้อมูลที่ใช้เมื่อเขียน/อ่านข้อมูล รูปแบบที่ใช้ได้คือ: none, ศูนย์,
คน, alt, สุ่ม, ตัวเลข และ "#" (โดยที่ "#" เป็นตัวเลขระหว่าง 0-255) NS
รูปแบบเริ่มต้นคือ "ไม่มี"
RCFILE อ่านตัวเลือกบรรทัดคำสั่งเพิ่มเติมจาก RCFILE ตัวเลือกอื่นๆ บน
บรรทัดคำสั่งจะแทนที่ตัวเลือกใน RCFILE
SEED ใช้ในการ seed ตัวสร้างตัวเลขสุ่ม ต้องเป็น >= 1 และ <= 2^32
โอน_SIZE
จำนวนไบต์ทั้งหมดที่จะโอน (ต้องเป็นทวีคูณของทั้งคู่ MIN_BUFFER_SIZE
และ MAX_BUFFER)SIZE) TRANSFER_SIZE สามารถระบุเป็นไบต์ กิโลไบต์
เมกะไบต์หรือกิกะไบต์
หน่วย กิโลไบต์(k), กิโลไบต์(K), เมบิไบต์(m), เมกะไบต์(M), กิบิไบต์(g), กิกะไบต์(G)
เทบิไบต์(t) หรือเทราไบต์(T)
ตัวอย่าง
พ่น --เขียน -b 16k 1m /tmp/bigfile
or
พ่น -b 16k 1m /tmp/bigfile
เขียน 1 เมบิไบต์ (1 เมบิไบต์ = 1024*1024 ไบต์) โดยใช้ 16 กิบิไบต์ (1 กิบิไบต์ = 1024 ไบต์)
ไบต์) ขอไฟล์ /tmp/bigfile โดยใช้รูปแบบเริ่มต้น (สุ่ม) แสดง
อัตราการถ่ายโอนการเขียนเป็นกิบิไบต์ต่อวินาที และเวลาในการถ่ายโอนการเขียนเป็นวินาที
พ่น --เขียน -u m -i 10 -b 1k 256k / dev / sda1
or
พ่น -u m -i 10 -b 1k 256k / dev / sda1
เขียน 256 กิบิไบต์โดยใช้คำขอ 1 กิบิไบต์ไปยังไฟล์อุปกรณ์บล็อก / dev / sda1 ครั้ง 10
โดยใช้รูปแบบเริ่มต้น (สุ่ม) อัตราการถ่ายโอนซ้ำและเขียนสะสมคือ
แสดงเป็นเมบิไบต์ต่อวินาทีและระยะเวลาการถ่ายโอนซ้ำและเขียนสะสม
จะแสดงเป็นวินาที
พ่น --ดิบ -d -o 1m -b 16m 1g /tmp/bigfile
or
อุดม -s -o 1m -b 16m 1g /tmp/bigfile
เขียน 1 กิบิไบต์ (1 กิบิไบต์ = 1024*1024*1024 ไบต์) เริ่มต้นที่ออฟเซ็ต 1 เมบิไบต์
ใช้คำขอ 16 เมกะไบต์ไปยังไฟล์ /tmp/bigfile โดยใช้รูปแบบเริ่มต้น (สุ่ม)
ข้อมูลถูกเขียนแบบซิงโครนัสและล้างเมื่อปิดไฟล์ จากนั้นอ่านในข้อมูลเดียวกัน
โดยใช้ขนาดคำขอและออฟเซ็ตเดียวกัน ข้อมูลถูกตรวจสอบเพื่อให้แน่ใจว่าข้อมูลอ่าน
ตรงกับข้อมูลที่อ่านออก อัตราการถ่ายโอนเขียนและอ่านจะแสดงใน
กิบิไบต์/วินาที เวลาโอนอ่านและเขียนจะแสดงเป็นวินาที
พ่น --อ่าน -i 0 -u M -p ศูนย์ -b 512 1m /dev/ศูนย์
or
หุบ -i 0 -u M -p ศูนย์ -b 512 1m /dev/ศูนย์
อ่านข้อมูล 1 เมกะไบต์โดยใช้คำขอ 512 ไบต์จากไฟล์ /dev/ศูนย์ จำนวนอนันต์
จำนวนครั้งโดยใช้รูปแบบเลขศูนย์ (อย่าตรวจสอบข้อมูล) การวนซ้ำและสะสม
อัตราการถ่ายโอนการอ่านจะแสดงเป็นเมกะไบต์ (1 เมกะไบต์ = 1,000,000 ไบต์) ต่อวินาที
และเวลาการถ่ายโอนการอ่านซ้ำและสะสมจะแสดงเป็นวินาที
พ่น --ดิบ -g -r -b 1k -B 256K 1t /dev/md1
or
อุดม -g -r -b 1k -B 256K 1t /dev/md1
เขียน 1 เทบิไบต์ (1 เทบิไบต์ = 1024*1024*1024*1024 ไบต์) โดยใช้คำขอ 1-256 กิโลไบต์ไปยัง
อุปกรณ์บล็อก /dev/md1 โดยใช้รูปแบบสุ่ม สุ่มหาจะดำเนินการก่อน
การถ่ายโอนแต่ละครั้ง แต่แต่ละบล็อกระหว่างจุดเริ่มต้นและจุดสิ้นสุดของข้อมูลจะถูกเขียนอย่างแม่นยำ
ครั้งหนึ่ง. ขนาดคำขอจะถูกสุ่มเลือก จากนั้นอ่านข้อมูลเดียวกันโดยใช้ข้อมูลเดียวกัน
ขอขนาดและแสวงหาในลำดับเดียวกัน ทำซ้ำลำดับข้างต้นเป็นอนันต์
จำนวนครั้งจนได้รับคำสั่งให้ออก (ผ่านสัญญาณหรือคำสั่ง TUI)
ข้อมูลจะถูกตรวจสอบเพื่อให้แน่ใจว่าข้อมูลที่อ่านเข้าตรงกับข้อมูลที่อ่านออก คำสาป-
ตาม TUI จะใช้เพื่อแสดงการวนซ้ำและอัตราการถ่ายโอนสะสม เวลาในการโอนและ
ไบต์ที่โอน แสดงสถิติโดยละเอียดหลังจากเลิกใช้
อัลกอริทึม
อัลกอริทึมต่อไปนี้ใช้เพื่อกำหนดขนาดบล็อกเมื่อ MAX_BUFFER_SIZE >
MIN_BUFFER_SIZE:
ค้นหาขนาดบล็อกที่ใหญ่ที่สุดที่มีกำลัง 2 และ >= MAX_BUFFER_SIZE เรียกสิ่งนี้ว่า
ขนาดบัฟเฟอร์สูงสุด ค้นหาขนาดบัฟเฟอร์ที่เล็กที่สุดที่เป็นกำลัง 2 และมีค่า >=
MIN_BUFFER_SIZE. เรียกบัฟเฟอร์ขนาดเล็กนี้ Chunksize = maxbuffersize * (ความแตกต่างใน
จำนวนบิตระหว่าง min และ maxbuffersize + 1) จำนวนชิ้นคือ
TRANSFER_SIZE/ขนาดก้อน เรียกสิ่งนี้ว่า numchunks จะมีจำนวน numchunks ของ
อ่าน/เขียนที่มีขนาด maxbuffersize, 2 * numchunks จำนวนการอ่าน/เขียนที่เป็น
ขนาด maxbuffersize/2, 4 * numchunks จำนวนการอ่าน/เขียนที่มีขนาด
maxbuffersize/4 และอื่นๆ จนกว่าจะถึง minbuffersize MIN_BUFFER_SIZE ใช้สำหรับ
การโอนที่เหลือหาก TRANSFER_SIZE ไม่หารด้วยขนาดก้อนเท่าๆ กัน
ตัวอย่าง: ใช้ MIN_BLOCK_SIZE ที่ 1k, MAX_BLOCK_SIZE ที่ 8k และ TRANSFER_SIZE ที่ 264k
ส่งผลให้อ่าน/เขียน 8 8k, อ่าน/เขียน 16 4k, อ่าน/เขียน 32 2k และ 64 + 8 1k
อ่าน/เขียน.
รูปแบบ
ใช้สิ่งต่อไปนี้ od(1) คำสั่งตรวจสอบ spew ไฟล์ที่สร้างโดย data integrity
เกิดปัญหา:
od -A d --format=d8 --width=32
ใช้ช่องเขาออนไลน์โดยใช้บริการ onworks.net