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

เนื่องด้วยประสบปัญหา CPU ทำงานหนัก 100% แทบจะทุกๆนาที ลำพัง  MySql ทำงานก็มากพอแล้ว ก็เลย top ดูว่า process อะไรทำงานกิน cpu บ้าง ผลที่เจอคือมี “/usr/local/directadmin/dataskq” เป็นคิวการทำงานของ DirectAdmin ซึ่งทำงาน 50 – 99 % ตลอด ตอนแรกก็นึกว่าปกติเพราะ DirectAdmin จะมี cronjob ตั้งเวลาทำงานอยู่แล้ว ดูไปดูมาชักแปลกๆเพราะมันใช้บ่อยและเยอะเกินไปเลยตัดสินใจทำลาย process ของ dataskq และเข้าไปดู 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:
file is locked by another process
2015:05:16-09:22:19: Dataskq USR1 signal: Currently processing: getlock(./data/admin/tickets.list) : finished

 

Tickets ถ้าเจ้าไปใน DirectAdmin จะเป็นลิงค์อยู่ในส่วนทางขวาบนเป็นลิงค์เขียนว่า Message System ซึ่งของผมพอไปดูมี tickets เยอะเกือบ 5,000 ข้อความ (รูปด้านล่างเป็นตัวอย่างตัวเลขไม่ตรงนะครับ)

directadmin-tickets

 

เมื่อลองคลิกเข้าไปดูก็ไม่ได้เพราะมันเยอะเกินและค้างในที่สุด เลยต้องทำการลดจำนวน tickets.list โดยวิธีการมีดังนี้เข้าไปที่ DirectAdmin

cd /usr/local/directadmin/data/admin

หรือใช้คำสั่งนี้สำหรับผู้ใช้ ให้เปลี่ยน

cd /usr/local/directadmin/data/users/username

ทำการสำรองไฟล์ tickets.list เป็น tickets.list.backup

cp tickets.list tickets.list.backup

และนำข้อมูล 500 ข้อความล่าสุดจาก  tickets.list.backup ไป tickets.list

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

ส่วน  tickets.list.backup จะลบหรือไม่ก็ได้ ถ้าลบก็ตามคำสั่งด้านล่างครับ

rm tickets.list.backup

พอมาดู CPU อีกทีกลับมาเป็นปกติชีวิตดี๊ดีขึ้นมาทันที หวังว่าคงมีประโยชน์สำหรับผู้ที่มีปัญหาเช่นนี้เหมือนกันครับ แต่ dataskq นั้นมันมี process อื่นๆทำงานอยู่เช่นกัน ดังนั้นวิธีการแก้ไขก็ต้องตามเนื้องานที่เจอนะครับ

 

บทความจาก www.memo8.com

อ้างอิง http://help.directadmin.com/item.php?id=402

อ้างอิง http://help.directadmin.com/item.php?id=428

  • 1 Users Found This Useful
Was this answer helpful?

Related Articles

Comodo WAF can now be easily integrated into DirectAdmin

If your server is running DirectAdmin you may enable Comodo ModSecurity protection...

How do you install Node.JS on CentOS?

  down vote If you have CentOS 6.x, and...

การ Compile PHP พร้อม xmlrpc (DirectAdmin Custombuild)

หากต้องการติดตั้ง xmlrpc ใน PHP ของเซิฟเวอร์ที่มีการติดตั้ง DirectAdmin แบบ CustomBuild...

การตั้งค่า DKIM กับ DirectAdmin

DKIM (DomainKeys Identified Mail) เป็นลายเซ็นดิจิทัลในส่วนหัวของข้อความ E-Mail...

ติดตั้ง Anti DDOS Attack สำหรับ DirectAdmin

# cd /usr/local/directadmin/custombuild # wget...