การดีบัก IO saturation บน linux


1

ฉันมีปัญหาดังต่อไปนี้ ในหนึ่งเครื่องอุปกรณ์ IO จะอิ่มตัวถึง 100% util (ผ่าน iostat -x 1) ในระหว่างการดำเนินการโปรแกรมหนึ่งครั้ง ในขณะที่ใช้ CPU / GPU ที่มีพลังน้อยกว่าอย่างชาญฉลาดก็ไม่มีปัญหาเช่นนั้นนั่นคือ iostat จะแปลงเป็น 0 อย่างรวดเร็ว

CPU ไม่อิ่มตัวนั่นคือกระบวนการไม่ได้ใช้ CPU มาก GPU อิ่มตัวในเครื่องอื่น ๆ ในขณะที่ IO ใช้ GPU 100% นั้นไม่อิ่มตัว

RAM ไม่อิ่มตัวในเครื่อง

สำหรับโปรแกรมนี้ GPU ควรเป็นคอขวดไม่ใช่ IO

โปรแกรมทำงานด้วยนักเทียบท่าโดยเฉพาะ nvidia-docker บนเครื่องทั้งสองที่มีอิมเมจเดียวกัน

บนเครื่องที่มีปัญหาฉันใช้ hdparm -tT และไม่มีความแตกต่างระหว่างเครื่องมากนัก ระบบไฟล์ ext4, 1.4TB / 1.8TB ครอบครอง ข้อมูลประกอบด้วยไฟล์ 1-3MB รวมเป็น 400GB

กระบวนการคือมัลติเธรด / มัลติโพรเซสซึ่งแต่ละกระบวนการย่อยสื่อสารกับกระบวนการหลักว่าข้อมูลใดที่อ่านและประมวลผลแล้ว (ตั้งแต่ไพ ธ อน GIL)

ฉันหมดความคิดสิ่งที่อาจเป็นปัญหาและวิธีแก้ปัญหา

แก้ไข:

นักเทียบท่ารุ่น 1.13.1 บนเครื่องที่มีปัญหา, 1.13.0 บนเครื่องที่ใช้ได้ เคอร์เนลลินุกซ์ 4.4.0-57 บนเครื่อง ok, 4.4.0-62 บนเครื่องที่มีปัญหา


ปัญหาน่าจะเกิดขึ้น I / O ทรูพุต: ฮาร์ดดิสชนิดต่าง ๆ ที่ใช้เวลาต่างกันในการค้นหาส่วนหัว / การเข้าถึงแบบสุ่มการเขียนมีจำนวนบัฟเฟอร์ภายในที่แตกต่างกัน ฯลฯ มีการเชื่อมต่อ SATA ด้วยความเร็วที่แตกต่างกัน dmesg ) ฯลฯ
dirkt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.