Tất cả các tài khoản lưu trữ web đều có giới hạn tài nguyên được áp dụng bởi CloudLinux LVE (Lightweight Virtual Environment), một công nghệ cấp nhân được tích hợp vào máy chủ. Các giới hạn này đảm bảo rằng tất cả các trang web đều nhận được quyền truy cập công bằng và bình đẳng vào phần tài nguyên đã được phân bổ.
Những tài nguyên này bao gồm CPU, bộ nhớ vật lý, tiến trình vào và số lượng tiến trình đang hoạt động. Bạn có thể tìm các giá trị chấp nhận được cho các tài nguyên này cũng như giá trị burst mềm và cứng trong Chính sách Sử dụng Chấp nhận được của chúng tôi.
Khi tài khoản của bạn liên tục đạt đến các giới hạn này, chúng tôi gọi đó là việc sử dụng quá mức tài nguyên. Điều này có thể dẫn đến hiệu suất trang web chậm hơn, thông báo lỗi hoặc hết thời gian chờ trên các trang web được lưu trữ trong tài khoản của bạn.
LƯU Ý: Nếu một tên miền trên tài khoản lưu trữ của bạn vượt quá giới hạn tài nguyên, tất cả các tên miền khác được lưu trữ cùng tài khoản đó cũng sẽ bị ảnh hưởng, vì chúng chia sẻ cùng một nguồn tài nguyên.
Bài viết này giúp bạn xác định và khắc phục việc sử dụng quá mức tài nguyên.
Để kiểm tra mức sử dụng tài nguyên tài khoản lưu trữ trong cPanel, hãy xem phần Thống kê hiển thị bên phải:

LƯU Ý: Bạn cũng sẽ nhận được thông báo về giới hạn tài nguyên tài khoản lưu trữ trong tài khoản Spaceship của mình. Tuy nhiên, để biết thông tin đầy đủ hơn, vui lòng tham khảo menu "Sử dụng Hosting" trong tài khoản cPanel của bạn.
Và các vi phạm đối với Chính sách Sử dụng Chấp nhận được của chúng tôi sẽ được liệt kê trong menu “Quản lý Hosting” > nhấp vào “Quản lý” bên cạnh gói hosting liên quan > phần Sử dụng hosting > mục Nhật ký báo cáo phụ.
Hãy cùng phân tích các chỉ số tài nguyên chính và cách chúng ảnh hưởng đến hiệu suất trang web của bạn:
Sử dụng CPU cho biết mức độ sử dụng sức mạnh CPU đã được phân bổ tại bất kỳ thời điểm nào. Nó được hiển thị dưới dạng phần trăm tổng dung lượng tài khoản lưu trữ của bạn.
Nếu mức sử dụng CPU đạt 100%, tài khoản của bạn đang sử dụng hết tất cả tài nguyên đã được phân bổ. Kết quả là, bất kỳ tiến trình mới nào cũng sẽ bị trì hoãn (đưa vào trạng thái ngủ) cho đến khi các tiến trình hiện tại hoàn thành. Điều này có thể gây ra hiện tượng chậm rõ rệt, và trong trường hợp nghiêm trọng, trang web của bạn có thể bị hết thời gian chờ.
Điều này đề cập đến lượng bộ nhớ mà các tiến trình có thể yêu cầu trong LVE (Lightweight Virtual Environment) của bạn.
Khi một tiến trình cố gắng cấp phát bộ nhớ, CloudLinux sẽ kiểm tra xem tổng mức sử dụng bộ nhớ ảo có nằm trong giới hạn đã đặt hay không. Nếu vượt quá giới hạn, việc cấp phát bộ nhớ mới sẽ bị chặn, thường khiến tiến trình bị lỗi.
Bộ nhớ vật lý đại diện cho RAM thực tế được gán cho tài khoản của bạn. Khác với bộ nhớ ảo (thường sử dụng lưu trữ đĩa như tệp swap), bộ nhớ vật lý xử lý các tác vụ đang hoạt động theo thời gian thực.
Ví dụ, đăng một bài viết lớn có thể tạm thời sử dụng hết toàn bộ bộ nhớ vật lý khả dụng. Mặc dù điều này có thể gây chậm tạm thời, mức sử dụng thường sẽ trở lại bình thường sau khi tác vụ hoàn thành.
Nếu mức sử dụng bộ nhớ vật lý của bạn đạt đến giới hạn, bạn có thể gặp lỗi PHP trên website. Trong một số trường hợp hiếm hoi, có thể xuất hiện trang lỗi CloudLinux. Những sự cố này thường chỉ diễn ra trong thời gian ngắn và sẽ tự động được khắc phục khi mức sử dụng giảm xuống dưới ngưỡng.
Tiến trình vào đại diện cho số lượng tiến trình đồng thời truy cập vào tài khoản của bạn. Mỗi script PHP hoặc CGI do người dùng chạy sẽ khởi tạo một tiến trình vào. Mặc dù thường bị nhầm lẫn với "số lượng khách truy cập được phép", các tiến trình này thường chạy và hoàn thành rất nhanh nên ngay cả khi có nhiều người dùng, bạn cũng khó đạt đến giới hạn – trừ khi trang web của bạn nhận được lượng truy cập tăng đột biến.
Chỉ số này bao gồm tất cả các tiến trình được tạo ra bởi tài khoản của bạn, không chỉ PHP, SSH hoặc các tác vụ cron. Đây là một giới hạn rộng hơn phản ánh tổng hoạt động.
Ngay cả khi sử dụng nhiều, con số này thường vẫn thấp vì hầu hết các tiến trình không phải PHP đều ngắn và hoàn thành nhanh chóng.
Sử dụng I/O đo lường mức độ hoạt động của đĩa mà tài khoản của bạn tạo ra. Bất kỳ thao tác nào liên quan đến việc đọc hoặc ghi dữ liệu – như sao lưu hoặc tải tệp lên – đều được tính vào giới hạn này.
Để đảm bảo hiệu suất công bằng cho tất cả người dùng, mỗi tài khoản đều có tốc độ đĩa tối đa. Nếu bạn đạt đến giới hạn này, các tiến trình của bạn vẫn sẽ chạy, chỉ là chậm hơn.
Trong hầu hết các trường hợp, bạn sẽ không nhận thấy việc sử dụng I/O trừ khi bạn thực hiện các tác vụ sử dụng đĩa nhiều, như tạo bản sao lưu lớn cho website.
Nếu tài khoản lưu trữ của bạn đạt đến một số giới hạn tài nguyên nhất định, bước đầu tiên là xác định các tiến trình nào đang góp phần gây ra việc sử dụng quá mức.
Nếu sự cố kéo dài hơn vài phút, bạn có thể kiểm tra các tiến trình đang hoạt động trong tài khoản của mình tại thời điểm xảy ra đột biến bằng SSH:
Đảm bảo SSH đã được bật cho tài khoản lưu trữ của bạn bằng cách kiểm tra trạng thái kết nối trong menu “Quản lý shell” của cPanel. Nếu SSH bị tắt, hãy làm theo các bước trong bài viết này để kích hoạt.
Đi tới menu Terminal trong cPanel và chạy một trong các lệnh sau để xác định các tiến trình đang hoạt động trong tài khoản của bạn:
- ps faux
- top -c
Sau đó, bạn sẽ thấy danh sách các tiến trình sử dụng nhiều tài nguyên nhất của tài khoản lưu trữ (CPU, bộ nhớ ảo, v.v.). Số lượng tác vụ cũng như trạng thái của chúng (đang hoạt động, ngủ hoặc dừng) cũng sẽ được hiển thị trong kết quả lệnh.
Chúng tôi muốn cho bạn thấy kết quả của lệnh “top -c” trông như thế nào và cung cấp hướng dẫn để bạn hiểu đúng:

Đây là hướng dẫn đơn giản về cách đọc loại kết quả này:
Dòng đầu tiên - chỉ thời gian hiện tại, thời gian kể từ lần khởi động cuối cùng, phiên người dùng đăng nhập và tải hệ thống trung bình (trong 1 phút, 5 phút và 15 phút gần nhất).
Dòng thứ hai - liệt kê tất cả các tiến trình trong tài khoản lưu trữ: đang chạy, ngủ, dừng và zombie (những tiến trình đã bị kết thúc nhưng chưa được xóa đúng cách).
Dòng thứ ba - cung cấp thông tin về cách CPU được sử dụng theo %, trong đó:
us = tiến trình người dùng
sy = tiến trình hệ thống
ni = nâng cấp ưu tiên nice
wa = thời gian chờ hoàn thành I/O
hi = ngắt phần cứng
si = ngắt phần mềm
st = thời gian bị lấy đi bởi tác vụ hypervisor trên máy ảo
Dòng thứ tư và thứ năm - chỉ mức sử dụng bộ nhớ (RAM): tổng, đã dùng, còn trống và bộ đệm.
Các dòng tiếp theo cung cấp chi tiết về các tiến trình hiện tại:
PID - ID của tiến trình
USER - người dùng cPanel là chủ sở hữu tiến trình
PR - mức ưu tiên của tiến trình
NI - giá trị nice của tiến trình
VIRT - bộ nhớ ảo được tiến trình sử dụng
RES - bộ nhớ vật lý được tiến trình sử dụng
SHR - bộ nhớ chia sẻ được tiến trình sử dụng
S - trạng thái của tiến trình (S - ngủ, D - ngủ không ngắt được, R - đang chạy, T - dừng, Z - zombie)
%CPU - phần trăm CPU được tiến trình này sử dụng
%MEM - phần trăm bộ nhớ vật lý được tiến trình này sử dụng
TIME+ - tổng thời gian CPU được tiến trình sử dụng
COMMAND - tên tiến trình
Trước khi kết thúc bất kỳ tiến trình nào khi nghi ngờ bị hack, hãy kiểm tra các tác vụ cron hiện có trong menu Cron jobs trong tài khoản cPanel của bạn. Nếu bạn phát hiện bất kỳ mục nào đáng ngờ hoặc các tác vụ cron mà bạn không chắc chắn, tốt nhất nên xóa chúng để ngăn các script nguy hiểm có thể chạy.
Sau khi bạn xác định được tiến trình cụ thể gây ra sự cố, bạn có thể kết thúc nó bằng cách chạy lệnh kill -9 PID SSH trong menu “Terminal”, trong đó PID là ID tiến trình từ bước trước.
Để kết thúc tất cả tiến trình ngoại trừ các tiến trình hệ thống thiết yếu, bạn có thể sử dụng lệnh sau:ps aux | grep -v 'bin/bash' | awk '{ print $2 }' | grep -v PID | xargs kill -9
Tiếp theo, xác định các tiến trình MySQL nào đang chạy.
Bạn có thể kiểm tra tất cả tiến trình MySQL cho tài khoản cPanel của mình (1) hoặc kiểm tra theo người dùng MySQL (2).
Để làm điều này, hãy mở Terminal trong cPanel và chạy một trong các lệnh sau:
Để kiểm tra các tiến trình MySQL cho toàn bộ tài khoản lưu trữ:mysql -u $CPANEL_USER -p -e "SHOW PROCESSLIST;"
Để kiểm tra các tiến trình MySQL cho một người dùng MySQL:mysql -u $MYSQL_USER -p -e "SHOW PROCESSLIST;"
Hãy chắc chắn thay thế “CPANEL_USER” bằng tên người dùng cPanel của bạn để kiểm tra các tiến trình cho tài khoản lưu trữ (1) và “$MYSQL_USER” bằng tên người dùng cơ sở dữ liệu MySQL cụ thể để kiểm tra cho từng người dùng MySQL (2).
Sau đó, nhập mật khẩu tài khoản cPanel (1) hoặc mật khẩu cho người dùng cơ sở dữ liệu cụ thể (2):

Bước cuối cùng là kết thúc các tiến trình MySQL cho một người dùng cơ sở dữ liệu cụ thể. Việc này chỉ có thể được thực hiện bởi đội ngũ Hỗ trợ của chúng tôi. Hãy liên hệ với chúng tôi và chúng tôi sẽ sẵn sàng hỗ trợ bạn.
Nếu sự cố chỉ kéo dài vài giây, có thể sẽ khó xác định các tiến trình gây ra sự cố vì dữ liệu không được ghi lại trong khoảng thời gian ngắn như vậy.
Tuy nhiên, bạn luôn có thể kiểm tra menu Sử dụng tài nguyên trong cPanel để xem các xu hướng lịch sử. Điều này có thể giúp bạn xác định các mẫu hoặc xác định tài nguyên nào đang tiến gần đến giới hạn:

Một thông báo về các tài nguyên thường xuyên bị chạm giới hạn sẽ được hiển thị ngay sau khi mở menu > dưới phần “Bảng điều khiển” với tham chiếu đến các giới hạn cụ thể:

Trong phần Sử dụng hiện tại của menu, hãy sử dụng Khung thời gian thả xuống để chọn một khoảng thời gian và kiểm tra cách tài nguyên tài khoản đã được sử dụng trong thời gian này:

Sau khi chọn, bạn sẽ thấy các biểu đồ và bảng hiển thị thống kê chi tiết:


Đây là hướng dẫn đơn giản về các giá trị được liệt kê trong bảng trên:
CPU – giới hạn CPU
vMEM/vM – giới hạn Bộ nhớ ảo
pMEM/pM – giới hạn Bộ nhớ vật lý
EP – Tiến trình vào
nPROC/nP – Số lượng tiến trình
IO – giới hạn Nhập/Xuất
A – trung bình đã sử dụng
L – giới hạn được đặt cho tài khoản
F – lỗi
Dừng các tiến trình đang hoạt động trong cPanel có thể giúp giải quyết các vấn đề về hiệu suất, nhưng hãy cẩn trọng – điều này có thể tạo ra các vấn đề mới. Dưới đây là một số điểm chính cần lưu ý:
Tính toàn vẹn dữ liệu: Việc kết thúc tiến trình một cách cưỡng bức có thể làm ảnh hưởng đến tính toàn vẹn dữ liệu. Đặc biệt, nếu tiến trình này liên quan đến việc ghi hoặc cập nhật dữ liệu trong tài khoản. Tốt nhất nên kiểm tra tiến trình không liên quan đến các thao tác cơ sở dữ liệu quan trọng trước khi kết thúc nó.
Giao dịch chưa hoàn tất: Dừng một tiến trình khi đang thực hiện có thể khiến giao dịch chưa hoàn tất và gây ra các vấn đề với trạng thái cơ sở dữ liệu. Trong trường hợp nghiêm trọng, điều này có thể dẫn đến hỏng hoặc mất dữ liệu.
Gián đoạn dịch vụ: Một số tiến trình, chẳng hạn như các tiến trình liên quan đến MySQL, rất quan trọng đối với các dịch vụ cốt lõi. Kết thúc chúng có thể gây ra gián đoạn dịch vụ tạm thời và ảnh hưởng đến chức năng của website.
Thay đổi chưa lưu: Nếu một tiến trình quản lý cấu hình hoặc cài đặt bị kết thúc trước khi thay đổi được lưu, nó có thể ảnh hưởng đến cách các tính năng hoặc ứng dụng hoạt động.
Phân bổ tài nguyên: Mặc dù việc kết thúc tiến trình có thể giải phóng tài nguyên hệ thống, nhưng nó không giải quyết được nguyên nhân gốc rễ của việc sử dụng cao. Để ngăn sự cố lặp lại, cần phải phân tích sâu hơn.
Tính ổn định của ứng dụng: Ngắt các tiến trình liên quan đến ứng dụng web có thể khiến chúng không ổn định. Điều quan trọng là phải hiểu cách các tiến trình hoạt động trước khi thực hiện hành động.
Ghi log và giám sát: Một số tiến trình liên quan đến việc ghi log hoặc giám sát hệ thống. Kết thúc chúng có thể làm gián đoạn các chức năng này, vì vậy hãy đảm bảo các log và công cụ giám sát quan trọng vẫn hoạt động.
Trong các tình huống nghiêm trọng (ví dụ: khi sử dụng quá mức tài nguyên hoặc nghi ngờ hoạt động độc hại), việc kết thúc tiến trình có thể là cần thiết dù có rủi ro. Nhưng luôn cân nhắc tác động tiềm ẩn trước khi hành động.
Sao lưu dữ liệu của bạn: Luôn tạo bản sao lưu trước khi thực hiện các thay đổi lớn, đặc biệt khi làm việc với cơ sở dữ liệu.
Sử dụng tắt máy có kiểm soát khi có thể: Hãy cố gắng tắt các tiến trình một cách từ từ để giảm nguy cơ mất dữ liệu hoặc hỏng dữ liệu.
Vô hiệu hóa các thành phần độc hại: Nếu bạn nghi ngờ một phần cụ thể của trang web (ví dụ: plugin hoặc giao diện) đang tạo ra các tiến trình độc hại, hãy vô hiệu hóa ngay lập tức để ngăn chặn thiệt hại thêm. Nếu không chắc chắn, hãy kiểm tra bất kỳ hoạt động đáng ngờ nào với chuyên gia.
Sử dụng chế độ bảo trì: Tạm thời đặt trang web của bạn vào chế độ bảo trì có thể giúp xác định liệu một số tiến trình nhất định có đang được tự động tạo lại hay không.
Theo dõi sát sao: Sau khi kết thúc bất kỳ tiến trình nào, hãy quan sát kỹ hành vi của hệ thống và sẵn sàng xử lý các sự cố bất ngờ.
Khi bạn đã xác định được tiến trình nào khiến tài khoản của mình chạm ngưỡng tài nguyên, hãy thử các cách phổ biến sau để giảm mức sử dụng:
Đột biến lưu lượng: Để xem khi nào tài khoản của bạn có quá nhiều tiến trình hoạt động, hãy mở menu Sử dụng tài nguyên > Ảnh chụp nhanh > tab Truy vấn HTTP:

Nếu bạn thấy trong kết quả có nhiều yêu cầu, ví dụ đến trang index.php, điều này có thể do lưu lượng truy cập cao vào website (ví dụ: bởi khách truy cập hoặc bot).
Kiểm tra các menu Awstats và Visitors trong cPanel để xem phân tích chi tiết về khách truy cập nhằm xác định nguyên nhân chính xác. Sự gia tăng đột ngột về lưu lượng có thể là lý do khiến sử dụng tài nguyên tăng cao. Nếu số lượng khách truy cập của bạn tăng đều và bạn vẫn gặp giới hạn, có thể đã đến lúc xem xét và nâng cấp gói hosting hiện tại.
Phần Thống kê trong menu Awstats có thể giúp bạn xác định nguồn gây tải CPU cao. Bạn có thể tìm thấy điều này bằng cách nhấn nút “Xem” đối diện tên miền:

LƯU Ý: Lưu ý rằng dữ liệu trong menu Awstats không được cập nhật theo thời gian thực và chỉ có thống kê hàng tháng. Hãy kiểm tra thời điểm dữ liệu thống kê được cập nhật để đảm bảo thông tin liên quan đến trường hợp của bạn. Bạn sẽ tìm thấy thông tin này ở dòng “Cập nhật lần cuối”.
Khi truy cập, bạn sẽ thấy thống kê chi tiết về lượng băng thông mà các thành phần cụ thể của website tiêu thụ, bao gồm:
Bot không xác định: Nếu không mong đợi loại lưu lượng này, các bot có thể bị chặn qua tệp robots.txt, giới hạn tốc độ (ví dụ cho Googlebot), hoặc chặn cứng qua tệp .htaccess và chuỗi User-Agent.
LƯU Ý: Những thay đổi này có thể ảnh hưởng đến SEO của website. Nếu bạn không chắc có nên tiếp tục hay không, tốt hơn nên tham khảo ý kiến chuyên gia SEO.
Hình ảnh: Nếu có nhiều yêu cầu đến một hình ảnh, điều này có thể là do một cuộc tấn công DDoS hoặc tự tấn công (self-DoS) vào hình ảnh đó.
Trang: Một trang web hoặc sản phẩm được đặt trên đó cũng có thể bị ảnh hưởng bởi một cuộc tấn công DDoS.
tệp.
Tệp đã tải xuống, v.v.
Những thay đổi gần đây trên website: Nếu đây là lần đầu tiên bạn gặp vấn đề về sử dụng tài nguyên, hãy kiểm tra lại các cập nhật hoặc thay đổi gần đây trên website của bạn. Những thay đổi này có thể góp phần làm tăng tải.
Plugin hoặc giao diện mới: Nếu bạn vừa cài đặt một plugin hoặc giao diện mới, hãy thử tắt nó và theo dõi hiệu suất trang web của bạn trong ít nhất 10 phút.
Ngoài ra, bạn có thể tìm các plugin tải chậm trong báo cáo GTmetrix > tab Waterfall.
LƯU Ý: Các thay đổi có thể không có hiệu lực ngay lập tức. Chúng tôi khuyên bạn nên theo dõi hành vi của website trong tối đa một giờ để có kết quả chính xác.
Tối ưu hóa website: Tối ưu hóa hiệu suất website của bạn bằng các công cụ như Google PageSpeed Insights.
Ngoài ra, các plugin sau sẽ giúp bạn theo dõi việc sử dụng tài nguyên và hiệu suất tổng thể của website – điều này cực kỳ hữu ích khi xác định các điểm nghẽn nội bộ của website:
Nếu bạn vẫn gặp sự cố về tài nguyên, vui lòng liên hệ với Đội ngũ Hỗ trợ của chúng tôi qua Live Chat hoặc email. Chúng tôi luôn sẵn sàng giúp bạn xác định và giải quyết mọi vấn đề.