หน้าแรก/บทความ/แก้ปัญหา dataskq ของ DirectAdmin ใช้ CPU 100%
กลับหน้าบทความ
🖥️Linux

แก้ปัญหา dataskq ของ DirectAdmin ใช้ CPU 100%

แก้ปัญหา process dataskq ของ DirectAdmin กิน CPU 100% เพราะ tickets.list มีข้อความเยอะเกินและค้าง โดยการตัดไว้เพียง 500 รายการล่าสุด

ศิริชัย ธีรภัทรสกุล (ตั้ม)อ่าน 3 นาที16 พฤษภาคม 2558
#DirectAdmin#CPU#Linux#Server#Fix#tickets

ประสบปัญหา CPU ทำงานหนัก 100% แทบจะทุกๆ นาที ลองรันคำสั่ง top ดูพบว่า /usr/local/directadmin/dataskq คือตัวการ ซึ่งทำงาน 50–99% ตลอดเวลา

ตรวจสอบ Error Log

killall -USR1 dataskq
tail -n 10 /var/log/directadmin/errortaskq.log

Error log แสดงปัญหาเกี่ยวกับ tickets ที่ lock ค้าง:

2015:05:16-09:21:04: removing old lock: ./data/admin/tickets.list.lock (age: 61 seconds)
2015:05:16-09:21:04: Ticket::deliverMessage::Can't read ./data/admin/tickets.list: Unable to get Lock on file

สาเหตุ

ใน DirectAdmin มี Message System (Tickets) ที่สะสมข้อความมากถึงเกือบ 5,000 รายการ ทำให้ dataskq ประมวลผลไม่หมดและค้างทำงานวนซ้ำ

วิธีแก้ไข

เข้าไปที่ directory ของ DirectAdmin admin:

cd /usr/local/directadmin/data/admin
# หรือสำหรับ user ทั่วไป:
cd /usr/local/directadmin/data/users/username

สำรองไฟล์ tickets.list ก่อน:

cp tickets.list tickets.list.backup

เก็บเฉพาะ 500 รายการล่าสุด:

tail -n 500 tickets.list.backup > tickets.list

ลบไฟล์ backup (ถ้าต้องการ):

rm tickets.list.backup

หลังจากนั้น CPU กลับมาเป็นปกติทันที

🚀 รับพัฒนาเว็บไซต์ & เว็บแอพพลิเคชั่น

สนใจดูตัวอย่างงานหรือสอบถามเพิ่มเติม ติดต่อได้เลยครับ โค้ดโมทีฟ (CodeMotive)