ทำไมระบบของฉันถึงหยุดทำงานเมื่อฉันรัน ps, w และอาจเป็นคำสั่งอื่น ๆ ?


10

ฉันไม่รู้ว่าทำไม แต่ฉันไม่สามารถเรียกใช้psหรือwคำสั่งบนเครื่อง Ubuntu 10.04LTS ของฉัน ฉันติดตามทั้งสองอย่างและทั้งคู่ก็หยุดทำงานเมื่ออ่านไฟล์ส่วนเดียวกัน

นี่คือผลลัพธ์ของการทำงานps

และนี่คือผลลัพธ์สำหรับw

ไฟล์หยุดทำงานเมื่ออ่านเอง ... http://pastebin.com/9qRB5eHh

เกิดอะไรขึ้น?

คำตอบ:


9

ฉันเกิดขึ้นครั้งเดียวเมื่อเซิร์ฟเวอร์ NFS หยุดทำงาน

ความจริงที่ว่ามันกำลังพยายามอ่านข้อมูลเกี่ยวกับ pid 17398 และ pid 17398 อยู่ในสถานะD(รอดิสก์) แสดงว่าอาจเป็นสาเหตุของคุณเช่นกัน

read(6, "Name:\tconvert\nState:\tD (disk sle"..., 1023) = 664
open("/proc/17398/cmdline", O_RDONLY)   = 6

หากคุณมี NFS mounts ฉันคิดว่าตัวเลือกที่ดีที่สุดคือการพยายามทำให้เซิร์ฟเวอร์ NFS สำรอง

มิฉะนั้นumount -f <mount>อาจช่วยได้


ฉันเดาว่าการรีบูตเครื่องควรแก้ไขสิ่งนี้ แต่ฉันไม่ต้องการทำเพราะฉันต้องการแน่ใจว่าสาเหตุของสิ่งนี้คืออะไร: P

สิ่งที่ไม่mountพูด? หมายเหตุมีโอกาสที่อาจแขวนด้วย (ฉันไม่คิดว่าควร แต่ฉันไม่แน่ใจ 100%)
มิเคล

3

การจัดการกับคำถามที่ถอนหายใจไม่ดีนักนี่เป็นครั้งที่สามที่ฉันลองพิมพ์สิ่งนี้ดังนั้นโปรดให้อภัยความตึงเครียด

ก่อนอื่นให้ใช้การintrเมาท์ NFS hardNFS เมานต์ที่เป็นค่าเริ่มต้นจะหยุดตลอดไป softNFS เมาต์ข้อผิดพลาดหลังจากหมดเวลา (ซึ่งอาจโง่สำหรับข้อผิดพลาดชั่วคราว) intrช่วยให้คุณตัดสินใจที่จะขัดจังหวะการดำเนินการ NFS ที่หยุดทำงาน ถูกต้องแล้ว

ประการที่สองเพื่อแก้ไขปัญหาโง่ฉันได้ใช้เคล็ดลับโง่ก่อนมันอาจยังคงทำงาน นำขึ้นนามแฝงในอินเตอร์เฟซloกับ NFS เซิร์ฟเวอร์ที่อยู่ IP ( แก้ไข : ifconfig eth0:0 <ipaddress>) สร้าง/etc/exportsไฟล์ที่มีบรรทัดที่จะส่งออกระบบไฟล์ที่คุณค้างไว้ ( แก้ไข : ส่งออกระบบไฟล์ที่มีชื่อเดียวกับระบบไฟล์ "หยุด" คุณจะต้องสร้างชื่อพา ธ แบบเดียวกับที่ติดตั้งไว้) . เริ่มต้นเซิร์ฟเวอร์ NFS ของคุณบนเครื่องของคุณและหวังว่าโปรแกรมที่หยุดชั่วคราวของคุณอาจเกิดข้อผิดพลาดกับ "file not found" หรือ "directory not found" หรืออะไรทำนองนั้นทำให้คุณสามารถทำงานต่อโดยไม่ต้องรีบูตเครื่อง

อย่าลืมปิดเซิร์ฟเวอร์ NFS ของคุณอีกครั้งและลบนามแฝงของอินเทอร์เฟซเมื่อคุณทำเสร็จแล้ว


ฉันใช้การเมาท์ภายใน NFS ... คุณเห็นสิ่งใดตรงกันข้าม
user69239

เกี่ยวกับ "ย่อหน้าที่สอง" ฉันไม่เข้าใจดีมาก ... ขอโทษ! :(
user69239

@ user69239 คุณไม่ได้ให้รายละเอียดใด ๆ ดังนั้นฉันคิดว่าคุณใช้hardประเภทเมานต์เริ่มต้น :)
sarnold

@ user69239 ฉันได้ขยายย่อหน้าเล็กน้อยด้วยเล่ห์เหลี่ยมโง่ - ฉันหวังว่าจะเข้าใจได้ง่ายขึ้นแล้ว :)
sarnold

2

ฉันไม่แน่ใจว่าทำไมการมุ่งเน้นไปที่ NFS ผู้ถามใช้ NFS หรือไม่ ไม่เห็นอะไรเกี่ยวกับเรื่องนั้น

อย่างไรก็ตามนี่เป็นปัญหาที่แปลกมากตั้งแต่ / proc ลองทำสิ่งต่าง ๆ ต่อไปนี้เพื่อให้ข้อมูลเพิ่มเติมแก่คุณเกี่ยวกับปัญหา:

  • ไปที่ / proc และค้นหาไดเรกทอรี pid อื่น ๆ และลองอ่านไฟล์ cmdline จากไดเรกทอรีเหล่านั้น
  • ลองอ่าน / proc / pid / stat ด้วยถ้าไม่ได้ผลฉันจะบอกว่าระบบของคุณกำลังมีปัญหาเคอร์เนล
  • คุณสามารถเรียกใช้ netstat -n ได้หรือไม่? สิ่งนี้อ่านจากส่วนต่าง ๆ ของ / proc ดังนั้นจึงอาจใช้งานได้และจะระบุว่ามีปัญหาน้อยกว่ากับส่วนต่อประสาน proc
  • ลองประกอบใหม่ / proc ด้วย mount -o remount / proc แม้ว่าฉันจะไม่รู้ว่าจะทำอย่างไรในสถานการณ์นี้

ฉันขอแนะนำให้รีบูตเครื่อง หากคุณไม่สามารถอ่านสิ่งต่าง ๆ จาก proc ฉันไม่แน่ใจว่าสิ่งที่คุณกำลังจะหาวิธีอื่น ๆ หากเกิดขึ้นอีกครั้งให้เริ่มกังวล


ใช่ฉันเป็น NFS ... ปัญหากำลังคัดลอกไฟล์ผ่านระบบฟิวส์ s3
69239

ฟิวส์และ nfs เป็นสิ่งที่แตกต่างกัน ฉันคิดว่าคุณต้องให้รายละเอียดทั้งหมดที่คุณสามารถทำได้ คุณให้ strace มากมาย แต่รู้เพิ่มเติมเกี่ยวกับการตั้งค่าของคุณและวิธีการเริ่มต้นทั้งหมดนี้เป็นขั้นตอนแรกที่จำเป็น
deltaray

ปัญหาปรากฏขึ้นโดยใช้คำสั่ง "cp" ขนาดใหญ่จากโฮสต์ของฉัน (ตัวอย่างเล็ก ๆ ของ Amazon) ไปยัง S3 ซึ่งเชื่อมต่อกับ s3f3 1.40 ด้วยตัวเลือก allow_other Ubuntu ของฉันคือการติดตั้งพื้นฐาน 10.10 ปกติโดยมีการอัพเกรดทั่วไป ไม่มีอะไรอีกแล้ว. จริง ๆ : P
user69239
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.