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

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

1
ไอโซโทปคำนวณกิจกรรม I / O สัมพัทธ์อย่างไร
ฉันใช้กระบวนการหนัก I / O บางอย่างบนเวิร์กสเตชันของฉันและเพิ่งติดตั้งiotopเพื่อตรวจสอบพวกเขา นี่เป็นภาพหน้าจอล่าสุด: ฉันสับสนเกี่ยวกับการอ่านในIO>คอลัมน์ แสดงว่าดิสก์ของฉันทำงานที่ประมาณ ~ 1500% I / O กิจกรรม เป็นไปได้ไหม วิธีหา I / O สูงสุดที่เป็นไปได้ของดิสก์จากการอ่านเหล่านี้ และไอโซโทปคำนวณกิจกรรม I / O สัมพัทธ์อย่างไร
16 performance  io  disk  top 

1
ฉันจะติดตามการใช้งาน IO ใน Linux และ * nix OS 'อื่น ๆ ได้อย่างไร
บางครั้งบางสิ่งบางอย่างในระบบของฉันจะเริ่มทุบดิสก์ ฉันต้องการบันทึกข้อมูลที่จะแจ้งให้ฉันทราบเกี่ยวกับการใช้งาน I / O ต่อกระบวนการจากนั้นฉันสามารถกลับไปดูได้ในภายหลังและดูว่ามีอะไรดำเนินการต่อไป ฉันควรจะแก้ไขปัญหานี้อย่างไร คะแนนโบนัสสำหรับการแก้ปัญหานี้สำหรับอุปกรณ์บล็อกโดยพลการ
15 performance  io 

4
สร้างคำสั่งโดยใส่สตริงลงใน tty
ฉันจัดการเพื่อทำสิ่งนี้ echo -n " คำสั่ง "> / dev / tty1 ตัวอักษรจะปรากฏขึ้นและเคอร์เซอร์จะเคลื่อนที่ แต่มันก็เป็น "ผี" - หากคุณกดปุ่มจะEnterไม่มีอะไรเกิดขึ้น แก้ไข: ในกลางหน้าจอด้านล่างคุณจะเห็นว่าทำไมฉันเห็นการใช้งานนี้ (บรรทัดที่มีคำอธิบายภาพสีแดงด้านล่างบรรทัดที่มีคำอธิบายภาพสีเหลือง) เนื่องจากตอนนี้คุณไม่ได้ "แก้ไข" ข้อความบันทึกย่อจริงๆ คุณเพิ่งถูกขอให้เขียนข้อความใหม่ซึ่งจะแทนที่ข้อความของบันทึกย่อที่คุณกำลังแก้ไข (ไม่ใช่จริง ๆ ) ดังนั้นฉันคิดว่ามันสามารถแก้ไขได้โดยเพียงแค่วางข้อความเก่าลงใน tty: หากผู้ใช้กด Enter จะไม่มีการดัดแปลงใด ๆ (โปรแกรมนี้อยู่ใน Perl / MySQL แต่ฉันคิดว่ามันน่าสนใจมากกว่าที่จะขอวิธีแก้ปัญหาทั่วไปมากกว่า "ฉันจะทำสิ่งนี้ใน Perl" ได้อย่างไร) แก้ไข 2: นี่คือรหัส Perl ที่ใช้รหัส C ด้านล่าง (ใช้งานได้ตามที่ตั้งใจ) และภาพหน้าจอใหม่ - หวังว่านี่จะช่วยชี้แจงสิ่งต่าง …
15 tty  io  stdin 

2
ตรวจสอบอุณหภูมิ / IO ของไดรฟ์ NVMe
มีวิธีการตรวจสอบอุณหภูมิหรืออ่าน / เขียนและไดรฟ์ NVMe (ในกรณีนี้ Intel 750) hdparm, udisksctl, smartctlและhddtempทั้งหมดดูเหมือนจะขาดความสามารถนี้ google ค้นหาได้ไร้ผล สำหรับผู้ที่อยากรู้อยากเห็นนี่เป็นปัญหาเดียวที่ฉันต้องเผชิญกับการใช้งาน Fedora 23 (Workstation) โดยใช้ NVMe สำหรับไดรฟ์ระบบ


5
ยูทิลิตี้เพื่อบัฟเฟอร์จำนวนข้อมูลที่ไม่ จำกัด ในไปป์ไลน์หรือไม่?
มียูทิลิตี้ที่ฉันสามารถติดในไปป์ไลน์เพื่อแยกความเร็วในการอ่านและเขียนได้หรือไม่? $ producer | buf | consumer โดยทั่วไปฉันต้องการยูทิลิตี้bufที่อ่านอินพุตเร็วที่สุดเท่าที่จะเป็นไปได้เก็บไว้ในหน่วยความจำเพื่อให้consumerสามารถใช้ช่วงเวลาที่หวานในขณะที่producerรันเร็วที่สุด
14 pipe  io  buffer 

1
ไม่สามารถปิดพาร์ติชัน Luks
เพื่อวัตถุประสงค์ในการสำรองข้อมูลฉันมี "snapshotted" พาร์ติชัน LVM พาร์ทิชันนี้ได้รับการเข้ารหัสดังนั้นฉันจึงได้เปิดพาร์ติชัน Luks (ภาพรวม) เพื่อทำการสำรองข้อมูลของฉัน ปัญหาคือฉันลืมลบสแนปชอตจึงใช้งานได้ 100% เมื่อฉันพยายามที่จะลบภาพรวม: lvremove /dev/mapper/vgx-LogVolDBSnapshot /dev/vgx/LogVolDBSnapshot: read failed after 0 of 4096 at 375809572864: Input/output error /dev/vgx/LogVolDBSnapshot: read failed after 0 of 4096 at 375809630208: Input/output error /dev/vgx/LogVolDBSnapshot: read failed after 0 of 4096 at 0: Input/output error /dev/vgx/LogVolDBSnapshot: read failed after …
13 partition  lvm  io  disk  cryptsetup 

1
`unbuffer` หรือ` stdbuf` สำหรับการลบ stdout buffering?
มีความแตกต่างระหว่าง unbuffer (1) และ stdbuf (1) หรือไม่? จากสิ่งที่ฉันรวบรวม unbuffer ทำมากกว่า "ความพยายามที่ดีที่สุด" ในการเรียกใช้ฟังก์ชัน libc set (X) buf ที่จุดเริ่มต้นแล้วปล่อยให้สิ่งต่าง ๆ เป็นอย่างไร
13 utilities  io  stdout  buffer 

2
การควบคุม IO แบบบล็อกตามน้ำหนักสำหรับ VMs
ฉันใช้ KVM เพื่อจัดการเครื่องเสมือนของฉัน ฉันพยายาม จำกัด ทรัพยากรที่มีให้สำหรับ VMs ฉันสามารถ จำกัด CPU และหน่วยความจำที่จัดสรรสำหรับ VMs โดยใช้ libvirt / cgroups ตอนนี้ฉันต้องการควบคุมเวลาดิสก์ที่จัดสรรให้กับ VM แต่ละเครื่องโดยใช้น้ำหนักบางอย่าง ฉันดูการควบคุม blkio จากกลุ่ม cg เนื่องจาก VM เป็นเพียงกระบวนการลีนุกซ์ฉันจะสามารถใช้กลุ่ม cg ได้ แต่ฉันไม่แน่ใจว่ามันจะทำงานกับ IO แบบอะซิงโครนัสหรือไม่ ถ้าไม่มีใครสามารถแนะนำทางเลือกที่ดีได้หรือไม่?

3
กิจกรรมการเขียนจำนวนมากบน SSD ทำให้ประสิทธิภาพของระบบนิวเคลียร์
ฉันสังเกตว่าเมื่อฉันเขียนแอพพลิเคชั่นอย่างหนักระบบทั้งหมดจะช้าลง เพื่อทดสอบเพิ่มเติมต่อไปนี้ฉันทำสิ่งนี้เพื่อทำ CPU (ค่อนข้างต่ำ), กิจกรรมดิสก์สูง: john -incremental > file_on_SSD สิ่งนี้จะบีบสตริงออกนับหมื่นต่อวินาทีไปยังไฟล์บนดิสก์ระบบของฉัน เมื่อมันทำเช่นนี้เมาส์จะล่าช้า TTY ไม่ตอบสนองแอพพลิเคชั่น "จาง" และโดยทั่วไปคอมพิวเตอร์ทั้งหมดจะไม่สามารถใช้งานได้ ในที่สุดเมื่อฉันสามารถควบคุมได้ + C johnระบบจะกลับมาเต็มความแรงหลังจากไม่กี่วินาที นี่เป็นตัวอย่างที่รุนแรง แต่ฉันมีปัญหาที่คล้ายกันที่มีกิจกรรมการเขียนน้อยมากเช่นการคัดลอกไฟล์ขนาดใหญ่จากแหล่งที่มาอย่างรวดเร็วหรือการแปลงรหัส ดิสก์ระบบปฏิบัติการหลักของฉันคือ SSD ที่ค่อนข้างเร็ว ( OCZ Agility 60GB ) พร้อม EXT4 ถ้าฉันเขียนjohnเอาต์พุตไปยังดิสก์เชิงกลที่มี EXT4 ฉันจะไม่พบกับการทำงานแบบช้าลงแม้ว่าอัตราจะช้ากว่ามาก (SSD ทำได้ ~ 42,000 คำต่อวินาทีและกลไก 8,000 วัตต์ต่อวินาที) ปริมาณงานอาจเกี่ยวข้อง ดิสก์เชิงกลยังไม่มีส่วนเกี่ยวข้องกับระบบ มันเป็นเพียงข้อมูล และฉันใช้เคอร์เนล 2.6.35-2 แต่ฉันสังเกตเห็นปัญหานี้เนื่องจากฉันได้รับ SSD นี้เมื่อฉันอาจใช้. 31 …
13 kernel  performance  io  ssd 

5
ไฟล์พิเศษที่ทำให้เกิดข้อผิดพลาด I / O
ฉันต้องการทดสอบโดยอัตโนมัติว่ามีซอฟต์แวร์ใดตอบสนองตามที่คาดหวังหากไฟล์ SQLite DB ที่สำคัญไม่สามารถอ่านได้ (ทำให้เกิดข้อผิดพลาด I / O) ตรงที่เกิดขึ้นเมื่อหลายวันก่อนที่ลูกค้า เราแก้ไขด้วยตนเอง แต่ตอนนี้ฉันต้องการสร้างรหัสอัตโนมัติเพื่อแก้ไขและต้องการเข้าถึงไฟล์ที่เสียหายเพื่อทดสอบ ทุกอย่างในไฟล์ของ Unix ฉันสงสัยว่าอาจมีไฟล์พิเศษที่ทำให้เกิดข้อผิดพลาด I / O เมื่อพยายามอ่านไฟล์ (เช่นใน / dev) บางไฟล์ที่คล้ายกัน (imo) จะเป็น: /dev/full ซึ่งมักจะพูดว่า "ไม่มีพื้นที่เหลือบนอุปกรณ์" หากคุณพยายามเขียน /dev/null และ /dev/zero ดังนั้นฉันคิดว่าจะต้องมีไฟล์แบบนั้น (แต่ยังไม่พบ) ไม่มีใครรู้ว่าไฟล์ดังกล่าวหรือวิธีการอื่น ๆ สำหรับฉันที่จะได้รับผลลัพธ์ที่ต้องการ (ภาพพาร์ทิชันที่ผิดพลาดโดยเจตนา, เสื้อคลุมรอบเปิด () โดยใช้ LD_PRELOAD, ... )? วิธีที่ดีที่สุดที่จะไปที่นี่คืออะไร?
13 linux  devices  io  testing 

2
Piping output จากโปรแกรม segfaulting
ฉันมีสคริปต์ที่เรียกใช้โปรแกรม (โดยเฉพาะttf2afmส่วนหนึ่งของ tetex 3.0) ซึ่งบางครั้ง segfaults และบางครั้งก็ไม่มี ข้อมูลที่ฉันต้องการจะพิมพ์ออกมาเสมอก่อนที่จะแยก segfaults แต่ฉันประสบปัญหาในการหยุดการเปลี่ยนเส้นทางไปป์จากความล้มเหลวและไม่ส่งออกข้อมูลใด ๆ ไปยังไพพ์เมื่อโปรแกรมล้มเหลว ฉันได้ลองเปลี่ยนเส้นทางผ่าน FIFO วงเล็บกระบวนการด้วยtrueตอนท้ายเรียกใช้จากฟังก์ชั่นเชลล์และการเข้ารหัสsh -cแต่ดูเหมือนว่าสคริปต์จะไม่ยอมให้กระบวนการส่งผลอะไรออกไป ฉันรู้ว่ามันมีความสามารถในการส่งออกเนื่องจากมันสามารถให้ได้อย่างสมบูรณ์จากบรรทัดคำสั่ง แต่ไม่ใช่จากสคริปต์ด้วยเหตุผลบางอย่าง คำถามของฉันคือมีวิธีใดบ้างที่สคริปต์จะเพิกเฉยต่อความจริงที่ว่าโปรแกรม segfaults และให้ผลลัพธ์กับฉันหรือไม่ ฉันใช้ BASH 4.1.10 (2) - ปล่อย

3
วิธีบันทึก / dev / stdout ตำแหน่งเป้าหมายในสคริปต์ทุบตี?
ฉันมีสคริปต์ทุบตีบางอย่างซึ่งต้องการรักษา/dev/stdoutตำแหน่งเดิมไว้ก่อนที่จะแทนที่ไฟล์ descriptor ตัวที่หนึ่งด้วยตำแหน่งอื่น ดังนั้นโดยธรรมชาติฉันเขียนอะไรบางอย่างเช่น old_stdout=$(readlink -f /dev/stdout) และมันไม่ทำงาน อย่างรวดเร็วฉันเข้าใจว่าปัญหาคืออะไร: test@ubuntu:~$ echo $(readlink -f /dev/stdout) /proc/5175/fd/pipe:[31764] test@ubuntu:~$ readlink -f /dev/stdout /dev/pts/18 Obvioulsly $()ทำงานใน subshell ซึ่งถูกไพพ์ไปยังเชลล์พาเรนต์ ดังนั้นคำถามคือ: มีวิธีที่เชื่อถือได้ (กำหนดขอบเขตการพกพาระหว่างการแจกแจง Linux) เพื่อบันทึก/dev/stdoutตำแหน่งเป็นสตริงในสคริปต์ทุบตีหรือไม่?

1
ทราบว่ากระบวนการใดที่ I / O ไม่มี iotop
บน Linux ฉันต้องการทราบว่ากระบวนการใดใช้ Band I ของดิสก์ I / O ของฉัน ฉันรู้ว่าฉันสามารถใช้งานได้iotopแต่ฉันมีเครื่องที่iotopไม่สามารถติดตั้งด้วยเหตุผลต่าง ๆได้ ฉันจะรับข้อมูลด้วยตนเองได้อย่างไร ( iotopตัวเองดำเนินการอย่างไร)

1
การวัดการใช้งานดิสก์ I / O ของโปรแกรม
time เป็นคำสั่งที่ยอดเยี่ยมถ้าคุณต้องการที่จะคำนวณเวลาของ CPU ที่คำสั่งที่ได้รับ ฉันกำลังมองหาสิ่งที่คล้ายกันซึ่งสามารถวัดดิสก์ I / O ของโปรแกรมและลูก ๆ ควรแยกความแตกต่างระหว่าง I / O ที่แคช (และไม่ทำให้ดิสก์หมุน) และ I / O ที่ไม่ได้แคช ดังนั้นฉันต้องการทำ: iomeassure my_program my_args และรับเอาต์พุตคล้ายกับ: Cached read: 10233303 Bytes Cached write: 33303 Bytes # This was probably a tmp file that was erased before making it to the disk …
12 io  time  measure 

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