คำถามติดแท็ก io

I / O เป็นตัวย่อสำหรับอินพุต / เอาต์พุตซึ่งหมายถึงกลไกหรือกระบวนการสำหรับการถ่ายโอนข้อมูลระหว่างระบบหนึ่งหรือส่วนประกอบหนึ่งและอีกระบบหนึ่ง

5
ทำไมการวนซ้ำไฟล์เร็วกว่าการอ่านลงในหน่วยความจำและการคำนวณสองครั้งทำไม
ฉันกำลังเปรียบเทียบสิ่งต่อไปนี้ tail -n 1000000 stdout.log | grep -c '"success": true' tail -n 1000000 stdout.log | grep -c '"success": false' ด้วยดังต่อไปนี้ log=$(tail -n 1000000 stdout.log) echo "$log" | grep -c '"success": true' echo "$log" | grep -c '"success": false' และน่าประหลาดใจที่สองใช้เวลานานกว่าครั้งแรกเกือบ 3 เท่า มันควรจะเร็วกว่านี้ใช่ไหม
26 bash  performance  io 

1
ทำไมไม่อ่านจาก / dev / ศูนย์นับเป็น IO_RBYTES
ฉันกำลังล้างฮาร์ดไดรฟ์ในระบบปฏิบัติการ Linux 4.x บางตัวโดยใช้คำสั่งนี้: sudo sh -c 'pv -pterb /dev/zero > /dev/sda' และฉันเปิดอีก tty และเริ่มsudo htopและสังเกตเห็นสิ่งนี้: PID USER PRI NI CPU% RES SHR IO_RBYTES IO_WBYTES S TIME+ Command 4598 root 20 0 15.5 1820 1596 4096 17223823 D 1:14.11 pv -pterb /dev/zero ค่าสำหรับIO_WBYTESดูเหมือนค่อนข้างปกติ แต่IO_RBYTESยังคงอยู่ที่ 4 KiB และไม่เคยเปลี่ยนแปลง ฉันรันโปรแกรมอื่นสองสามตัวอย่างเช่น dd if=/dev/zero …
25 linux  devices  io  null 

3
ฉันจะ จำกัด ความเร็วเอาต์พุตของ stdout ได้อย่างไร
ผมใช้ CentOS 5.7 stdoutและฉันมีอรรถประโยชน์สำรองข้อมูลที่มีตัวเลือกในการทุ่มตลาดแฟ้มสำรองข้อมูลไปยัง ไฟล์สำรองมีขนาดค่อนข้างใหญ่ (หลายกิกะไบต์) เป้าหมายคือระบบไฟล์ SSHFS เพื่อให้แน่ใจว่าฉันจะไม่แบนด์วิดท์และลดประสิทธิภาพของเครือข่ายฉันต้องการ จำกัด ความเร็วในการเขียนข้อมูลลงใน "ดิสก์" ฉันจะจำกัดความสามารถของstdoutจำนวนไบต์ได้อย่างไร ตัวอย่างเช่นการจำกัดความสามารถของกระบวนการในการเขียนถึงประมาณ 768Bps
24 hard-disk  io  stdout 

5
มีการบันทึกไฟล์บนดิสก์ตามลำดับหรือไม่
ดังที่ฉันเข้าใจ "ไฟล์กระจัดกระจาย" หมายความว่าไฟล์อาจมี 'ช่องว่าง' ดังนั้นข้อมูลที่ใช้จริงอาจมีขนาดเล็กกว่าขนาดไฟล์โลจิคัล ระบบไฟล์ Linux บันทึกไฟล์บนดิสก์ได้อย่างไร ฉันสนใจ ext4 เป็นหลัก แต่: สามารถบันทึกไฟล์ไม่เรียงตามลำดับบนดิสก์ได้หรือไม่? โดยที่ฉันหมายถึงส่วนหนึ่งของไฟล์ที่อยู่ทางกายภาพที่อยู่ X และส่วนต่อไปที่ทางกายภาพที่อยู่ Y ซึ่งไม่ได้อยู่ใกล้กับ X + ชดเชย) ฉันสามารถควบคุมลำดับไฟล์ได้หรือไม่? ฉันต้องการจัดสรรไฟล์ 10GB ฉันต้องการให้เป็นลำดับบนดิสก์และไม่แบ่งระหว่างออฟเซ็ตที่แตกต่างกัน มันทำหน้าที่แตกต่างกันระหว่างประเภทต่าง ๆ หรือไม่?

3
โปรแกรม“ du” สามารถลดความก้าวร้าวได้หรือไม่?
เรามีงานประจำที่ทำหน้าที่duสรุปย่อของไดเรกทอรีย่อยจำนวนมากเลือกผู้กระทำความผิดที่เลวร้ายที่สุดและใช้ผลลัพธ์เพื่อค้นหาว่ามีสิ่งที่เพิ่มขึ้นอย่างรวดเร็วเพื่อมองเห็นปัญหาที่อาจเกิดขึ้นหรือไม่ เราใช้diffเทียบกับภาพรวมเพื่อเปรียบเทียบ มีไดเรกทอรีระดับบนสุดที่มีไดเรกทอรีย่อยจำนวน (ไม่กี่ร้อย) โดยแต่ละไดเรกทอรีอาจมีไฟล์จำนวน 10 ไฟล์เป็นพัน (หรือมากกว่า) A " du -s" ในบริบทนี้อาจทำให้ IO ก้าวร้าวมากทำให้เซิร์ฟเวอร์ของเราประกันตัวแคชและจากนั้นสไปค์ IO ขนาดใหญ่ซึ่งเป็นด้านที่ไม่พึงประสงค์จะส่งผลกระทบต่อ กลยุทธ์ใดที่สามารถใช้เพื่อรับข้อมูลเดียวกันโดยไม่มีผลข้างเคียงที่ไม่พึงประสงค์
21 disk-usage  io  limit 

2
เมื่อกระบวนการจะไปสู่สถานะ 'D'
ฉันใช้ "ชื่อโฮสต์ Linux 2.6.28-15-generic # 49-Ubuntu SMP อ. 18 ส.ค. 18:40:08 UTC 2009 i686 GNU / Linux" เครื่องไคลเอนต์ทั้งหมดจะใช้ Thin-client ฉันจะใช้แล็ปท็อปของฉันในการทำงานและฉันจะติดตั้งโฮมไดเร็กตอรี่จากเซิร์ฟเวอร์ไปยังแล็ปท็อปของฉัน ถ้าฉันเปิด Firefox ในแล็ปท็อปของฉันหน้าต่าง Firefox จะไม่เปิดเพราะกระบวนการอยู่ในสถานะ 'D' และผู้ใช้อื่น ๆ ทั้งหมดเครื่องวางสายและกระบวนการล็อกอยู่ในสถานะ 'D' ps ajx | grep firefox 1 6187 4313 4313 ? -1 D< 1030 3:16 /usr/lib/firefox-3.5b4pre/firefox-3.5 7610 7622 7621 7610 pts/3 …
21 linux  process  io 


4
ปรับขนาดเซกเตอร์ตรรกะให้เหมาะสมสำหรับขนาดเซกเตอร์กายภาพ 4096 HDD
ด้วยฮาร์ดไดรฟ์ใหม่จำนวนมากขนาดเซกเตอร์กายภาพคือ 4096 เป็นไปได้ไหมที่จะทำให้ระบบใช้ขนาดเซกเตอร์ตรรกะที่มีขนาดเท่ากันแทนที่จะเป็นขนาดเซกเตอร์เชิงตรรกะเริ่มต้นที่ 512 มันจะเพิ่มความเร็วในการอ่านและเขียนจำนวนมากหรือไม่ สามารถกำหนดค่าได้ที่ไหน

2
ทางเลือก iotop สำหรับผู้ใช้ที่ไม่ใช่รูทโดยไม่มีสิทธิ์ sudo
ฉันกำลังมองหาทางเลือกกับไอโซโทป นี่คือสถานการณ์ของฉัน: ฉันต้องการตรวจสอบว่าโปรแกรมกำลังเข้าถึงฮาร์ดไดรฟ์จำนวนมากในขณะใช้งานหรือไม่ iotop ต้องการสิทธิ์รูท / sudo บัญชีของฉันอยู่ในระบบของคนอื่นดังนั้นฉันจึงไม่ได้รับอนุญาตให้ใช้สิทธิ์ root หรือ sudo มีทางเลือกอื่นในไอโซโทปที่ฉันสามารถใช้ได้หรือไม่?

2
เหตุใด I / O ของดิสก์สูงจึงลดการตอบสนอง / ประสิทธิภาพของระบบ
ฉันไม่เคยเข้าใจเลยว่าทำไม I / O ของดิสก์สูงทำให้ระบบช้าลงมาก มันแปลกสำหรับฉันเพราะฉันคาดว่าการทำงานช้าลงจะส่งผลเฉพาะกระบวนการที่ขึ้นอยู่กับข้อมูลฮาร์ดไดรฟ์ / ออปติคัลไดรฟ์ ฉันหมายถึงiowait ที่นี่ เหตุใดโปรเซสเซอร์จึงรอแทนที่จะทำงานอื่น ใครสามารถอธิบายข้อ จำกัด นี้และทำไมมันไม่ได้รับการแก้ไขใน Linux kernel? มีเคอร์เนลที่ไม่มีปัญหานี้หรือไม่? [ หมายเหตุ ] มีความคืบหน้าในส่วนของประสิทธิภาพนี้ สำหรับหนึ่งเมล็ดในภายหลัง (2.6.37 ในกรณีของฉัน) ตอบสนองได้ดีกว่ามาก
19 linux  kernel  performance  io 

1
iotop แสดงการเขียนดิสก์ 1.5 MB / s แต่โปรแกรมทั้งหมดมี 0.00 B / s
ฉันไม่เข้าใจiotopผลลัพธ์: มันแสดง ~ 1.5 MB / s การเขียนดิสก์ (ด้านบนขวา) แต่โปรแกรมทั้งหมดมี 0.00 B / s ทำไม? วิดีโอถูกถ่ายเมื่อฉันลบเนื้อหาของโฟลเดอร์ที่มีไฟล์จำนวนไม่กี่ล้านไฟล์ที่ใช้ perl -e 'for(<*>){((stat)[9]<(unlink))}'บน Kubuntu 14.04.3 LTS x64 iotopsudo iotopถูกเปิดใช้
18 linux  process  monitoring  io 

1
ทำให้ Linux เขียนไปยังระบบไฟล์เครือข่ายพร้อมกันกับการอ่านดิสก์ในเครื่อง
สรุป คุณจะกำหนดค่า Linux ให้อ่านจากดิสก์ / ระบบโลคัลและเขียนไปยังเครือข่ายร่วมกันในเวลาเดียวกันได้อย่างไรเมื่อเทียบกับการอ่านในขณะที่ไม่มีข้อมูลผ่านเครือข่ายจากนั้นส่งข้อมูลผ่านเครือข่ายในขณะที่โลคัลดิสก์ ว่าง? มันเร็วกว่ามากในการอ่านและเขียนในเวลาเดียวกันแทนที่จะทำการแสดงเพียงครั้งเดียวจากนั้นทำการอีกครั้งในลักษณะสลับกัน รายละเอียด ฉันกำลังย้ายข้อมูลจำนวนมากจากดิสก์ภายในเครื่องบน Linux ไปยังอุปกรณ์ NAS ฉันใช้rsyncพื้นคัดลอก/srv/dataลงใน/mnt/nasซึ่งเป็น CIFS ติด มันเริ่มต้นได้ดีอ่านได้ที่ 100MB / วินาทีและเขียนถึง NAS ที่ 100MB / วินาที (จำกัด เครือข่ายกิกะบิต) ด้วยการอ่านและเขียนที่เกิดขึ้นพร้อมกัน อย่างไรก็ตามตอนนี้ไม่กี่ชั่วโมงต่อมาฉันพบว่ามันกำลังอ่านจากดิสก์ภายในเครื่องแล้วหยุดอ่านในขณะที่เขียนไปยัง NAS จากนั้นเมื่อไม่มีข้อมูลเพิ่มเติมที่จะเขียนไปยัง NAS มันจะอ่านต่อจากดิสก์ อีกครั้ง เครือข่ายไม่ได้ใช้งานในขณะที่กำลังอ่านดิสก์และดิสก์ไม่ได้ใช้งานในขณะที่เครือข่ายใช้งานอยู่ จำเป็นต้องพูดการอ่าน 200MB จากนั้นการเขียน 200MB จะใช้เวลานานกว่าการอ่านและการเขียน 200MB ในเวลาเดียวกัน ฉันจะกำหนดค่าเคอร์เนลเพื่อให้พฤติกรรมการอ่านและการเขียนก่อนหน้านี้ในเวลาเดียวกันได้มากกว่าที่จะสลับระหว่างการอ่านแล้วการเขียนการดำเนินการเพียงครั้งเดียว? ข้อสังเกตบางอย่าง: เมื่อดิสก์ภายในเครื่องอ่านที่ 100 + MB / วินาทีทุกอย่างดูเหมือนว่าจะเกิดขึ้นในแนวขนานได้ …
17 linux  io  cache  cifs 

2
วิธีการหยุด xargs จากการรวมเอาท์พุทจากกระบวนการหลายอย่างไม่ดี?
ฉันกำลังใช้xargsกับตัวเลือก--max-args=0(หรือ-P 0) อย่างไรก็ตามเอาต์พุตของกระบวนการถูกรวมเข้ากับstdoutสตรีมโดยไม่คำนึงถึงการแยกบรรทัดที่เหมาะสม ดังนั้นฉันมักจะจบลงด้วยบรรทัดเช่น: <start-of-line-1><line-2><end-of-line-1> ในขณะที่ฉันใช้egrepกับ^ในรูปแบบของฉันในxargsผลลัพธ์ทั้งหมดนี้จะทำให้สับสนผลลัพธ์ของฉัน มีวิธีบังคับxargsให้เขียนผลลัพธ์ของกระบวนการตามลำดับ (คำสั่งใด ๆ ตราบใดที่ผลลัพธ์ของหนึ่งกระบวนการนั้นต่อเนื่องกัน)? หรือวิธีการแก้ปัญหาอื่น ๆ ? แก้ไข:รายละเอียดเพิ่มเติมเกี่ยวกับกรณีการใช้งาน: ฉันต้องการดาวน์โหลดและแยกหน้าเว็บจากโฮสต์ที่แตกต่างกัน เนื่องจากทุกหน้าใช้เวลาประมาณหนึ่งวินาทีในการโหลดและมีหน้าเว็บไม่กี่โหลที่ฉันต้องการขนานการร้องขอ คำสั่งของฉันมีแบบฟอร์มต่อไปนี้: echo -n $IPs | xargs --max-args=1 -I {} --delimiter ' ' --max-procs=0 \ wget -q -O- http://{}/somepage.html | egrep --count '^string' ฉันใช้ bash และไม่ใช่อย่าง Perl เพราะ host IP (ตัวแปร $ IP) และข้อมูลอื่น ๆ …

1
เหตุใดส่วนใหญ่ของดิสก์ IO จึงเป็นของ jbd2 และไม่ใช่กระบวนการที่ใช้ IO จริง ๆ
เมื่อตรวจสอบดิสก์ IO ส่วนใหญ่ของ IO นั้นมาจาก jbd2 ในขณะที่กระบวนการดั้งเดิมที่ทำให้ IO สูงนั้นมีสัดส่วน IO ที่ต่ำกว่ามาก ทำไม? ต่อไปนี้iotopเป็นตัวอย่างเอาต์พุต (กระบวนการอื่นที่ละเว้น IO <1%):
16 process  io  disk 

1
iostat: รอคอยกับ svctm
ในiostatmanpage ฉันได้พบทั้งสองคอลัมน์ที่คล้ายกัน: await The average time (in milliseconds) for I/O requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. svctm The average service time (in milliseconds) for I/O requests that were issued to the device. …
16 linux  monitoring  io 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.