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

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

7
การเปลี่ยนเส้นทาง stdout ไปยังไฟล์ที่คุณไม่ได้รับอนุญาตให้เขียน
เมื่อคุณพยายามแก้ไขไฟล์โดยไม่ได้รับอนุญาตให้เขียนคุณจะได้รับข้อผิดพลาด: > touch /tmp/foo && sudo chown root /tmp/foo > echo test > /tmp/foo zsh: permission denied: /tmp/foo Sudoing ไม่ได้ช่วยเพราะมันรันคำสั่งในฐานะ root แต่เชลล์จัดการการเปลี่ยนเส้นทาง stdout และเปิดไฟล์เหมือนคุณ > sudo echo test > /tmp/foo zsh: permission denied: /tmp/foo มีวิธีง่าย ๆ ในการเปลี่ยนเส้นทาง stdout ไปยังไฟล์ที่คุณไม่ได้รับอนุญาตให้เขียนนอกจากเปิดเชลล์เป็นรูทและจัดการไฟล์ด้วยวิธีนี้หรือไม่? > sudo su # echo test > /tmp/foo

3
ฉันสามารถดูความคืบหน้าของการดำเนินการ "ซิงค์" ได้หรือไม่
ฉันได้คัดลอกไฟล์ขนาดใหญ่ไปยังดิสก์ USB ที่ติดตั้งบนระบบ Linux ด้วย async สิ่งนี้จะกลับไปที่พรอมต์คำสั่งอย่างรวดเร็ว แต่เมื่อฉันพิมพ์syncแน่นอนมันต้องไปที่ดิสก์และใช้เวลานาน ฉันเข้าใจว่ามันจะช้า แต่มีที่ไหนที่ฉันสามารถดูตัวนับลงไปที่ศูนย์ได้หรือไม่ การดูbuffersในtopไม่ช่วยอะไรเลย
103 linux  filesystems  io  async 

12
ปรัชญาของการล่าช้าในการเขียนข้อมูลลงดิสก์คืออะไร
ใน Linux การดำเนินการคำสั่งที่เสร็จสิ้นแล้วเช่นcpหรือddไม่ได้หมายความว่าข้อมูลถูกเขียนไปยังอุปกรณ์ หนึ่งมีการยกตัวอย่างเช่นการโทรsyncหรือเรียกว่า "Safely Remove" หรือ "Eject" ฟังก์ชั่นบนไดรฟ์ ปรัชญาของวิธีการดังกล่าวคืออะไร? เหตุใดข้อมูลจึงไม่ถูกเขียนพร้อมกัน ไม่มีอันตรายที่การเขียนจะล้มเหลวเนื่องจากข้อผิดพลาด I / O หรือไม่?

2
เมื่อไหร่ที่เหมาะสำหรับการคัดลอกข้อมูล (หรือเมื่อมีการอ่าน () และเขียน () บางส่วน)
ฉบับย่อ:ในสถานการณ์ใดที่ddปลอดภัยที่จะใช้สำหรับการคัดลอกข้อมูลหมายความว่าปลอดภัยไม่มีความเสี่ยงจากการทุจริตเนื่องจากการอ่านหรือเขียนบางส่วน? รุ่นยาว - บทนำ: ddมักใช้เพื่อคัดลอกข้อมูลโดยเฉพาะจากหรือไปยังอุปกรณ์ ( ตัวอย่าง ) บางครั้งก็นำมาประกอบคุณสมบัติลึกลับของความสามารถในการเข้าถึงอุปกรณ์ในระดับที่ต่ำกว่าเครื่องมืออื่น ๆ (เมื่ออยู่ในความเป็นจริงมันเป็นแฟ้มอุปกรณ์ที่ทำมายากล) - ยังเป็นสิ่งเดียวกับdd if=/dev/sda บางครั้งคิดจะเร็ว แต่สามารถเอาชนะมันในทางปฏิบัติ อย่างไรก็ตามมีคุณสมบัติที่เป็นเอกลักษณ์ที่ทำให้มันมีประโยชน์อย่างแท้จริงบางครั้งcat /dev/sdaddcatdd ปัญหา: ไม่ได้ในความเป็นจริงเช่นเดียวกับdd if=foo of=bar cat <foo >barเมื่อวันที่unices¹ที่สุดทำให้สายเดียวที่จะdd read()(ฉันพบว่าPOSIXคลุมเครือในสิ่งที่ถือเป็นการ "อ่านบล็อกอินพุต" ในdd) หากread()ส่งคืนผลลัพธ์บางส่วน (ซึ่งตาม POSIX และเอกสารอ้างอิงอื่น ๆ จะอนุญาตให้ยกเว้นว่าเอกสารการใช้งานระบุไว้เป็นอย่างอื่น) บล็อกบางส่วนจะถูกคัดลอก write()ว่าปัญหาเดียวกันที่มีอยู่สำหรับ ข้อสังเกต : ในทางปฏิบัติฉันพบว่าddสามารถรับมือกับอุปกรณ์บล็อกและไฟล์ปกติได้ แต่นั่นอาจเป็นเพราะฉันไม่ได้ออกกำลังกายมากนัก เมื่อพูดถึงท่อก็ไม่ยากที่จะใส่ddผิด ตัวอย่างเช่นลองใช้รหัสนี้ : yes | dd of=out bs=1024k count=10 และตรวจสอบขนาดของoutไฟล์ …
60 io  dd 

5
แบบพกพาเป็นอย่างไร / dev / stdin, / dev / stdout และ / dev / stderr?
บางครั้งผมต้องระบุเส้นทาง "เทียบเท่า" ของหนึ่งในลำธาร IO มาตรฐาน ( stdin, stdout, stderr) ตั้งแต่ 99% ของเวลาที่ฉันทำงานกับ Linux ฉันแค่เตรียมที่/dev/จะรับ/dev/stdinฯลฯ และสิ่งนี้ " ดูเหมือนจะทำสิ่งที่ถูกต้อง" แต่สิ่งหนึ่งที่ฉันไม่สบายใจเกี่ยวกับเหตุผลดังกล่าวอยู่เสมอ (เพราะแน่นอน "ดูเหมือนว่าจะทำงาน" จนกว่าจะไม่) นอกจากนี้ฉันไม่มีความรู้สึกที่ดีสำหรับวิธีการพกพาในการซ้อมรบนี้ ดังนั้นฉันมีคำถามสองสามข้อ: ในบริบทของลินุกซ์มันมีความปลอดภัย (ใช่ / ไม่ใช่) จะถือเอาstdin, stdoutและstderrด้วย/dev/stdin, /dev/stdoutและ /dev/stderr? โดยทั่วไปแล้วความเท่าเทียมนี้ " พกพาได้อย่างเพียงพอ" หรือไม่? ฉันไม่พบการอ้างอิง POSIX ใด ๆ

6
ฉันจะอ่านทีละบรรทัดจากตัวแปรใน bash ได้อย่างไร
ฉันมีตัวแปรที่มีเอาต์พุตหลายบรรทัดของคำสั่ง วิธีที่มีประสิทธิภาพมากที่สุดในการอ่านบรรทัดเอาต์พุตโดยบรรทัดจากตัวแปรคืออะไร ตัวอย่างเช่น: jobs="$(jobs)" if [ "$jobs" ]; then # read lines from $jobs fi
48 bash  shell  io  cat 

3
การพิจารณาไฟล์เฉพาะที่รับผิดชอบสำหรับ High I / O
นี่เป็นปัญหาง่าย ๆ แต่ครั้งแรกที่ฉันต้องแก้ไขจริง ๆ : การค้นหาไฟล์ / inodes ที่เจาะจงเป็นเป้าหมายของ I / O ส่วนใหญ่ ฉันต้องการรับภาพรวมระบบทั่วไป แต่ถ้าฉันต้องให้ PID หรือ TID ฉันไม่เป็นไร ฉันต้องการที่จะไปโดยไม่ต้องทำในโปรแกรมที่ปรากฏขึ้นในstrace iotopควรใช้เครื่องมือในหลอดเลือดดำเดียวกับiotopที่ใช้แยกแยะไฟล์ ฉันสามารถใช้lsofเพื่อดูว่าไฟล์ mailman นั้นเปิดอยู่ แต่ไม่ได้ระบุว่าไฟล์ใดที่ได้รับ I / O หรือเท่าไหร่ ฉันเคยเห็นที่อื่นที่แนะนำให้ใช้auditdแต่ฉันไม่ต้องการทำเพราะจะใส่ข้อมูลลงในไฟล์การตรวจสอบของเราซึ่งเราใช้เพื่อวัตถุประสงค์อื่นและดูเหมือนว่าเป็นปัญหาที่ฉันควรจะวิจัย ทางนี้. ปัญหาเฉพาะที่ฉันมีอยู่ในขณะนี้คือด้วยสแนปชอตของ LVM ที่เติมอย่างรวดเร็วเกินไป ฉันได้แก้ไขปัญหาแล้ว แต่อยากจะสามารถแก้ไขได้ด้วยวิธีนี้แทนที่จะทำเพียงตัวlsอธิบายไฟล์แบบเปิดทั้งหมด/proc/<pid>/fdเพื่อดูว่าอันไหนเติบโตเร็วที่สุด

5
วัดทรูพุตของท่อในเปลือก
มีคำสั่งเชลล์ที่ให้คุณวัดความเร็วของข้อมูลที่ผ่านไปดังนั้นคุณสามารถวัดความเร็วของเอาต์พุตของคำสั่งในไพพ์ได้ ดังนั้นแทนที่จะ: $ somecommand | anothercommand คุณสามารถทำสิ่งที่ชอบ: $ somecommand | ??? | anothercommand และสถิติปริมาณงาน (ไบต์ / วินาที) ถูกพิมพ์ไปยัง stderr ฉันคิดว่า แต่ฉันทำไม่ได้สำหรับชีวิตของฉันจำได้ว่าคำสั่งนั้นคืออะไร

5
วิธีเปลี่ยนเส้นทาง stdout ไปยังไฟล์และ stdout + stderr ไปยังไฟล์อื่นได้อย่างไร
ฉันจะประสบความสำเร็จได้อย่างไร cmd >> file1 2>&1 1>>file2 นั่นคือ stdout และ stderr ควรเปลี่ยนเส้นทางไปที่หนึ่งไฟล์ (file1) และ stdout เท่านั้น (file2) ควรเปลี่ยนเส้นทางไปที่อื่น (ทั้งในโหมดต่อท้าย)?

1
จะรับอ่านทั้งหมดและเขียน IOPS ทั้งหมดใน Linux ได้อย่างไร
ฉันจะอ่านและเขียน IOPS แยกกันใน Linux โดยใช้บรรทัดคำสั่งหรือวิธีการเขียนโปรแกรมได้อย่างไร ฉันได้ติดตั้งsysstatแพ็คเกจแล้ว โปรดบอกฉันว่าฉันจะคำนวณสิ่งเหล่านี้แยกกันโดยใช้sysstatคำสั่งแพ็คเกจได้อย่างไร หรือเป็นไปได้ที่จะคำนวณโดยใช้ระบบไฟล์? อดีต: /procหรือ/sysหรือ/dev
32 linux  io  disk  read  write 

4
วิธี Throttle ต่อกระบวนการ I / O ถึงขีด จำกัด สูงสุด
ฉันกำลังมองหาวิธี จำกัด กระบวนการของดิสก์ io ถึงขีด จำกัด ความเร็วที่ตั้งไว้ โดยหลักการแล้วโปรแกรมจะทำงานคล้ายกับสิ่งนี้: $ limitio --pid 32423 --write-limit 1M จำกัด กระบวนการ 32423 ถึง 1 เมกะไบต์ต่อวินาทีความเร็วในการเขียนฮาร์ดไดรฟ์

4
ค้นหากระบวนการที่กำลังเขียนลงฮาร์ดไดรฟ์
สำหรับ Lenovo T400 และ Ubuntu ไฟสำหรับเขียนฮาร์ดไดรฟ์ยังคงกะพริบอยู่ ฉันสงสัยว่าใน Linux เป็นไปได้หรือไม่ที่กระบวนการจะทำ I / O กับฮาร์ดไดรฟ์? เช่นเดียวโดยtopคุณสามารถค้นหาสิ่งที่กระบวนการกำลังใช้ซีพียูและหน่วยความจำมากที่สุด
31 linux  process  io 

12
ฉันจะปรับแต่งเดสก์ท็อป Linux ให้ตอบสนองได้อย่างไร
ฉันมีประสบการณ์ที่ Linux ทำงานได้ดีจนกว่าหน่วยความจำกายภาพจะหมดลง ทันทีที่ใช้พื้นที่สว็อปประสิทธิภาพการทำงานจะลดลงอย่างรุนแรงและ GUI ไม่ตอบสนอง ปัญหานี้ไม่ได้ จำกัด เฉพาะ distro หรือเดสก์ท็อปที่เฉพาะเจาะจงเพราะฉันได้ลองแล้วสองสามครั้ง (และปัญหายังคงอยู่) ฉันจะทำอะไรเกี่ยวกับเรื่องนี้?
30 linux  kernel  performance  io  swap 

1
ความหมายของสีในฮ็อพ
รับตัวเลือก: [ ] Detailed CPU time (System/IO-Wait/Hard-IRQ/Soft-IRQ/Steal/Guest) ในhtop(เวอร์ชั่น1.0.1) ความหมายของสีคืออะไร? ในภาพต่อไปนี้ฉันเห็นสิ่งต่าง ๆ มากมายที่ฉันคาดหวังคือ IO-Wait แต่ที่ไหนที่กำหนดความหมายของสี โดยธรรมชาติแล้วสิ่งนี้ขึ้นอยู่กับธีมสี htop ที่ใช้งาน (ค่าเริ่มต้น) และโครงร่างสีของเทอร์มินัล (แสงแสงอาทิตย์ที่นี่) แต่มีการอ้างอิงหรือไม่? หมายเหตุ:ปกติจะเกิดขึ้นกับเซิร์ฟเวอร์ของฉันก่อนที่มันจะตายดังนั้นฉันคิดว่าฉันจะถามในขณะที่ฉันมีเวลารอให้กล่องกู้คืน
28 ubuntu  io  top  htop 

5
ฉันสามารถปิดการใช้งาน updatedb ได้หรือไม่
เป็นupdatedbสิ่งที่จำเป็นที่ทั้งหมดหรือไม่ ฉันไม่เคยใช้locateและเซิร์ฟเวอร์ของฉันมักจะมีไฟล์หลายสิบล้านไฟล์ซึ่งโดยปกติจะทำให้ updateb ทำงานเป็นเวลานานและใช้ I / O ที่จำเป็นโดย MySQL และ / หรือซอฟต์แวร์อื่น ๆ ฉันสามารถลบมันออกจาก cron และคาดหวังว่าทุกอย่างจะทำงานได้หรือไม่ (โดยทุกอย่างฉันหมายถึงซอฟต์แวร์ปกติที่พบในเซิร์ฟเวอร์: linux, cpanel, mysql, apache, php เป็นต้น)

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