Hướng dẫn khắc phục dataskq load cao trên Directadmin

Sau đây mình xin hướng dẫn các bạn cách khắc phục dataskq load cao trên Directadmin
Vào 1 ngày đẹp trời mình thấy Website chạy quá ì ạch trong khi lượng truy cập ít,
Mình vào DA Service Monitor thấy top 5 processes sử dụng tới 99% CPU và cùng processes

11477 root    20  0  324m 196m 1580 R 53.3  5.2  17153:50 /usr/local/directadmin/dataskq                                
 7738 root    20  0  315m 183m 1580 R 49.3  4.8  15702:50 /usr/local/directadmin/dataskq                                
17973 root    20  0  307m 170m 1592 R 59.5  4.5  14271:42 /usr/local/directadmin/dataskq                                
15411 root    20  0  285m 159m 1592 R 58.9  4.2  9984:23 /usr/local/directadmin/dataskq                               
18812 root    20  0  299m 158m 1592 R 50.0  4.2  12829:33 /usr/local/directadmin/dataskq                                
32016 root    20  0  292m 146m 1592 R 49.7  3.8  11400:47 /usr/local/directadmin/dataskq                                
10846 root    20  0  254m 125m 1592 R 61.8  3.3  8605:18 /usr/local/directadmin/dataskq                               
22175 root    20  0  248m 114m 1592 R 54.9  3.0  7239:59 /usr/local/directadmin/dataskq                               
28472 root    20  0  241m 104m 1592 R 52.6  2.7  5916:28 /usr/local/directadmin/dataskq                               
 2738 root    20  0  239m  98m 1700 R 49.7  2.6  4753:17 /usr/local/directadmin/dataskq                               
 7807 root    20  0  212m  84m 1836 R 49.3  2.2  3698:22 /usr/local/directadmin/dataskq                               
11449 root    20  0  202m  75m 1836 R 49.7  2.0  1870:38 /usr/local/directadmin/dataskq                               
 6370 root    20  0  205m  73m 1836 R 50.0  1.9  2744:47 /usr/local/directadmin/dataskq                               
22093 root    20  0  178m  52m 1836 R 52.0  1.4  1042:42 /usr/local/directadmin/dataskq                               
26249 root    20  0  152m  27m 1844 R 54.9  0.7 266:05.08 /usr/local/directadmin/dataskq

Server của mình đã quá tải và dataskq là nguyên nhân dẫn tới tất cả các Service khác đều bị crash, Làm như thế nào để mình khắc phục vấn đề này

đầu tiên mình phân tích một process để tìm hiểu nguyên nhân với command

lsof -p 11477

sau đó có thể dùng lệnh này để xem log

tail -n 10 /var/log/directadmin/errortaskq.log
Nó quá lớn để khắc phục, mình kill toàn bộ dataskq process với lệnh sau.
killall -USR1 dataskq

Nếu không được bạn có thể tạo ra file script để chạy, mình thấy cách này là hay nhất.

#!/bin/bash
PIDS=`ps aux | grep dataskq | awk '{print $2}'`
for P in $PIDS
do
kill -9 $P
done

tiếp theo tạo cron làm chậm dataskq

bạn dùng lệnh sau để vào directadmin_cron
 vi /etc/cron.d/directadmin_cron

rồi thêm đoạn code sau vào đầu để chặn tiến trình dataskq

10 0 * * * root echo ‘action=tally&value=all’ >> /usr/local/directadmin/data/task.queue

sau đó lưu lại và restart lại cron là ok

/usr/local/directadmin/dataskqcpu 100%cpu load caodataskq load cao trên DirectadminHướng dẫn khắc phục dataskqkhắc phục dataskq chiếm tải caoquá tải và dataskqvps load 100%vps load cao