กระบวนการ / sbin / getty ทำให้เกิดการใช้งาน CPU 100%


11

ฉันมีอินสแตนซ์ของการUbuntu 12.04 LTS (GNU/Linux 3.2.0-25-virtual i686)ทำงานเป็น KVM-VM บนเครื่องโฮสต์ที่ใช้ VM อีกหนึ่งตัวอยู่ข้างๆ

ฉันปรับใช้แอ็พพลิเคชัน Ruby on Rails โดยใช้ Capistrano deployment-gem

อย่างไรก็ตามถ้าฉันปรับใช้สองครั้งติดต่อกันในเวลาอันสั้นการใช้งาน CPU จะเพิ่มขึ้นเป็น 100% เนื่องจาก/sbin/gettyกระบวนการ

สิ่งนี้จะเป็นอย่างไร

ฉันเชื่อว่าเก็ตตี้เป็นโปรแกรมที่ค่อนข้างง่ายที่ส่งชื่อล็อกอินจากเทอร์มินัลไปยังกระบวนการเข้าสู่ระบบ

นอกจากนี้: ใน Capfile ของฉัน (ไฟล์กำหนดค่า Capistrano) ฉันกำลังเรียกใช้คำสั่งบางอย่างหลังจากที่มีการปรับใช้แอปพลิเคชัน Rails รวมถึงการโทรsudo /sbin/restart <APPNAME>ซึ่งเป็นงานที่ไม่ธรรมดา

สิ่งนี้จะเกี่ยวข้องกันอย่างไร?

ฉันสามารถฆ่ากระบวนการ getty และปัญหาหายไปจนกว่าการปรับใช้ครั้งต่อไป แต่ฉันอยากจะทำความเข้าใจและแก้ไขปัญหา

ความช่วยเหลือใด ๆ ที่ชื่นชม แนบเป็นภาพหน้าจอของปัญหาของฉัน

/ sbin / getty ทำให้โหลด CPU 100%


2
คุณสามารถติดตามสิ่งที่ getty กำลังทำกับ 'strace -f -p 18081' โดยที่ 18081 เป็น pid ของ getty ที่ทำงานผิดปกติ หาก strace ไม่แสดงอะไรเลยมันอาจเป็นข้อผิดพลาดในการเก็ตตี้
SpamapS

คุณสามารถแก้ไขปัญหานี้ได้อย่างถาวรหรือไม่
Christoph Geschwind

คำตอบ:


2

ในที่สุดฉันก็พบปัญหานี้ในUbuntu 12.10 ServerVPS

แต่เนื่องจากฉันไม่ต้องการสิ่งใดtty(เพราะฉันเชื่อมต่อด้วยssh) ฉันจึงแก้ไขได้ยาก :

sudo rm /etc/init/tty*
sudo reboot

และมันใช้งานได้ดี! ไม่ต้องgettyดำเนินการใด ๆ อีกต่อไป


0

คุณเข้าสู่ระบบsyslogหรือไม่

คุณsyslogจะไปtty1ไหม

ถ้ามีโอกาสที่ดีที่คุณมีมากกว่า 38400bps มูลค่าของsyslogและปิดกั้นขณะนั้นรอการถ่ายโอนข้อมูลที่เป็นของgettytty

ฉันจะตรวจสอบrsyslogการกำหนดค่าของคุณ- ตามค่าเริ่มต้น Ubuntu บันทึกsyslogผลลัพธ์บางอย่าง/dev/xconsole via /etc/rsyslogd.d/50-default.confไว้


หากเป็นกรณีนี้จะป้องกันได้อย่างไร
knownasilya

0

หนึ่งในแกนกลางของฉันฉันได้รับการใช้ประโยชน์ CPU 100% สำหรับagettyกระบวนการในเครื่อง Ubuntu 16.04 ของฉัน ในกรณีของฉันโดยเฉพาะฉันใช้การเชื่อมต่อ ssh ในการเข้าถึงเซิร์ฟเวอร์เท่านั้นดังนั้นหลังจากการตรวจสอบในขณะที่ฉันตัดสินใจที่จะลบออก

sudo rm /etc/systemd/system/getty.target.wants/getty@tty1.service
sudo rm /lib/systemd/system/getty@.service

ต้องรีบูต วิธีการแก้ปัญหาที่พบที่https://peteris.rocks/blog/can-you-kill-it/ ก่อนที่จะใช้ตัวเลือกดังกล่าวโปรดใช้ความระมัดระวังในการตรวจสอบว่าคุณไม่จำเป็นต้องใช้ TTY หรือไม่

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