Score:1

สถานะ systemctl ไม่แสดง (บล็อก) IO, systemctl แสดงค่าที่ไม่ถูกต้องสำหรับ IO

ธง mv

ฉันใช้ Ubuntu 20.04 ฉันกำลังพยายามรับ IO และ BlockIO สำหรับกระบวนการ postgres (และลูกของมันทั้งหมด)

`สถานะ systemctl [email protected]`  

แสดงหน่วยความจำและเวลา CPU ที่ใช้ แต่ไม่ใช่ IO:

[email protected] - PostgreSQL Cluster 14-main
     โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/[email protected]; enable-runtime; >
     ใช้งานอยู่: ใช้งานอยู่ (ทำงาน) ตั้งแต่ อ. 2021-12-14 17:13:19 WET; 2 นาที 21 วินาทีที่แล้ว
    กระบวนการ: 1285 ExecStart=/usr/bin/pg_ctlcluster --skip-systemctl-redirect 14>
   PID หลัก: 1395 (postgres)
      งาน: 11 (จำกัด: 37513)
     หน่วยความจำ: 263.2M
        ซีพียู: 32.372 วินาที
     CGroup: /system.slice/system-postgresql.slice/[email protected]
             ââ1395 /usr/lib/postgresql/14/bin/postgres -D /var/lib/postgresql/>
             ââ1442 postgres: 14/หลัก: ด่าน
             ââ1444 postgres: 14/หลัก: ผู้เขียนพื้นหลัง
             ââ1445 postgres: 14/หลัก: walwriter
             ââ1446 postgres: 14/หลัก: ตัวเปิดสูญญากาศอัตโนมัติ
             ââ1447 postgres: 14/หลัก: ตัวรวบรวมสถิติ
             ââ1448 postgres: 14/main: TimescaleDB Background Worker Launcher
             ââ1449 postgres: 14/main: ตัวเรียกใช้การจำลองแบบตรรกะ
             ââ1450 postgres: 14/main: TimescaleDB Background Worker Scheduler
             ââ1453 postgres: 14/main: TimescaleDB Background Worker Scheduler
             ââ5990 postgres: 14/main: postgres tsenergydata 127.0.0.1(55312) I>

อันดับแรก ฉันลองทำสิ่งต่อไปนี้:

  1. ภายใต้ /etc/systemd/system.confฉันตั้งค่าตัวเลือกบัญชี IO เป็น ใช่:

DefaultIOAccounting=ใช่

DefaultBlockIOAccounting=ใช่

  1. แล้วรีบูตระบบ

อย่างไรก็ตาม ดูเหมือนจะไม่สร้างความแตกต่าง IO ไม่แสดง

จากนั้นฉันก็พยายามแล้ว systemctl --all --full แสดง [email protected]:

  • ผลลัพธ์จริง ๆ แล้วแสดงค่าสำหรับ I/O: IOReadBytes=18446744073709551615 IOReadOperations=18446744073709551615 IOWriteBytes=18446744073709551615 IOWriteOperations=18446744073709551615
  • อย่างไรก็ตาม ค่าเหล่านี้ดูเหมือนจะไม่สมเหตุสมผล (ดูเหมือนจะอยู่ในพื้นที่เพตะไบต์) ฉันไม่ได้ทำอะไรนอกจากเริ่มต้น postgres สิ่งนี้ไม่สามารถสร้างได้ทุกที่ใกล้กับ IO มากอย่างแน่นอน ยิ่งไปกว่านั้น ค่าสำหรับการอ่าน การเขียน และการดำเนินการนั้นเหมือนกันหมด ซึ่งดูน่าสงสัย
  • ค่าที่แสดงโดย แสดง systemctl สำหรับ CPU และหน่วยความจำจะเหมือนกันกับค่าที่แสดงโดยใช้ สถานะ systemctl สั่งการ. ดังนั้นค่าทั้งหมดจึงไม่อยู่ในแผนภูมิ

มีวิธีรับ IO ของบริการเฉพาะ (แม้ว่าบริการนั้นจะใช้หลายกระบวนการ) หรือไม่

ฉันกำลังมองหาสิ่งที่ตรงไปตรงมามากกว่าการวนซ้ำ proc/$pid/io และเพิ่มการอ่าน/เขียนสำหรับแต่ละกระบวนการที่เกี่ยวข้อง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา