สาเหตุ ของ อาการค้าง

ฮาร์ดแวร์สามารถทำให้คอมพิวเตอร์ค้าง เนื่องจากมันทำงานขาด ๆ หาย ๆ หรือเข้ากันไม่ได้กับฮาร์ดแวร์อื่นในคอมพิวเตอร์นั้น [1] (อาจเกิดหลังจากอัปเกรด) ฮาร์ดแวร์ก็อาจทำงานบกพร่องได้เมื่อเวลาผ่านไปเนื่องจากความเสียหายจากฝุ่นหรือความร้อน

อาการค้างสามารถเกิดขึ้นได้ เนื่องจากโปรแกรมเมอร์วางเงื่อนไขการหยุดทำงานวงวนไม่ถูกต้อง หรือลืมที่จะยอมให้งานอื่นกระทำผ่านไปก่อน พูดอีกนัยหนึ่งคือ อาการค้างที่เกี่ยวกับซอฟต์แวร์ เกิดจากการรอเหตุการณ์จากเทร็ดที่ไม่มีการตอบสนองกลับมา [2] เรียกอีกอย่างว่าวงวนไม่รู้จบ

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

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