ฉันจะดูรายการกระบวนการที่ทำลายเคอร์เนลได้ที่ไหน


33

มีวิธีใดบ้างที่ฉันสามารถตรวจสอบกระบวนการของฉันซึ่งเคอร์เนลได้ฆ่า? บางครั้งฉันเข้าสู่เซิร์ฟเวอร์ของฉันและพบว่าบางสิ่งบางอย่างที่ควรจะทำงานทั้งคืนเพียงแค่หยุด 8 ชั่วโมงในและฉันไม่แน่ใจว่ามันเป็นแอปพลิเคชันที่ทำหรือเมล็ด

คำตอบ:


30

หากเคอร์เนลฆ่ากระบวนการ (เนื่องจากระบบมีหน่วยความจำไม่เพียงพอ) จะมีข้อความบันทึกเคอร์เนล เช็คอิน/var/log/kern.log(บน Debian / Ubuntu, ดิสทริบิวชันอื่น ๆ อาจส่งบันทึกของเคอร์เนลไปยังไฟล์อื่น แต่โดยปกติแล้วจะอยู่/var/logภายใต้ Linux)

โปรดทราบว่าหาก OOM-killer (นักฆ่าหน่วยความจำไม่เพียงพอ) เปิดขึ้นแสดงว่าคุณมีหน่วยความจำเสมือนไม่เพียงพอ เพิ่มการสลับเพิ่มเติม (หรืออาจมากกว่า RAM)

กระบวนการขัดข้องบางอย่างจะถูกบันทึกในเคอร์เนลล็อกเช่นกัน (เช่นการแบ่งส่วนผิดพลาด)

หากกระบวนการเริ่มต้นจาก cron คุณควรมีเมลพร้อมข้อความแสดงข้อผิดพลาด หากกระบวนการเริ่มต้นจากเชลล์ในเทอร์มินัลตรวจสอบข้อผิดพลาดในเทอร์มินัลนั้น เรียกใช้กระบวนการในscreenเพื่อดูสถานีอีกครั้งในตอนเช้า สิ่งนี้อาจไม่ช่วยถ้า OOM-killer ทำงานเพราะมันอาจฆ่า cron หรือกระบวนการสกรีนเช่นกัน แต่ถ้าคุณวิ่งเข้าไปใน OOM-killer นั่นคือปัญหาที่คุณต้องแก้ไข


ข้อความ kill thread เป็น/var/log/kern.logอย่างไร
Bee

12

บัญชีกระบวนการสามารถช่วยได้ที่นี่

โดยย่อ:

apt-get install acct

จากนั้นลองใช้คำสั่งเช่น:

lastcomm
sa

หรือบน Ubuntu:

lastcomm -f /var/log/account/pacct
sa /var/log/account/pacct

ดู:

UPDATE

น่าแปลกที่pacctไฟล์นั้นมีข้อมูลเกี่ยวกับสถานะการออก แต่ดูเหมือนจะไม่มีlastcommหรือไม่มีsaการพิมพ์

เท่าที่ฉันเห็นคุณต้องเขียนโปรแกรม C ของคุณเองเพื่อเข้าถึงข้อมูล

อัพเดท 2

นี่คือรุ่นที่พิมพ์รหัสออก

สองฟิลด์สุดท้ายคือ "S" สำหรับสัญญาณและ "E" สำหรับออกแล้วตามด้วยหมายเลขสัญญาณหรือสถานะทางออก

ในกรณีของคุณคุณอาจกำลังมองหา "S 15" ซึ่งหมายความว่าได้ SIGTERM

sleep                X mikel    stdin      0.00 secs Fri Mar 25 20:15 S  15

เปรียบเทียบกับ "E 0" ซึ่งหมายถึงกระบวนการที่ออกโดยไม่มีข้อผิดพลาด

true                   mikel    stdin      0.00 secs Fri Mar 25 20:16 E   0

ทดสอบเพียงเล็กน้อยเท่านั้น


-1

บริการ sudo - สถานะทั้งหมด

คำสั่งนี้จะบอกคุณว่าบริการใดกำลังทำงานอยู่และยังไม่ได้เริ่มหรือหยุด ..

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