Home Máy chủ LinuxLinux căn bản Hướng dẫn phân tích, giải thích lệnh TOP trong Linux

Hướng dẫn phân tích, giải thích lệnh TOP trong Linux

by Thạch Phạm
Published: Last Updated on
A+A-
Reset

Lệnh top trong Linux được sử dụng để hiển thị tất cả các tiến trình đang chạy trong môi trường Linux. Hướng dẫn này chỉ cho bạn cách sử dụng lệnh top thông qua việc giải thích những tham số khác nhau có sẵn và nội dung mà chúng hiển thị.

Lệnh Top trong Linux là gì?

Trong Linux, có một lệnh bạn sẽ thường sử dụng nhiều nhất để theo dõi tình trạng thông tin của máy chủ, đó là sử dụng lệnh top. Lệnh này sẽ giúp bạn xem tổng quan về máy chủ như lượng phần trăm CPU đang sử dụng, mức quá tải qua thông số load average, số lượng tiến trình (processes) đang hoạt động và nhiều thông tin hữu ích khác.

Cách sử dụng lệnh top

Về cơ bản, tất cả những gì bạn cần làm để hiển thị các tiến trình đang chạy hiện tại là gõ như sau vào terminal:

top

Các thông tin quan trọng trong lệnh top

Rất nhiều thông tin sẽ được hiển thị khi bạn sử dụng lệnh top, mình sẽ giải thích tất cả những thông tin này một cách dễ hiểu và đơn giản nhất.

top c 1

Thông tin sau được hiển thị khi bạn chạy lệnh top trong Linux:

Dòng 1

top c 2
  • Thời gian hiện tại của hệ thống
  • Thời gian uptime
  • Số lượng người dùng
  • Trung bình tải
  • Trung bình tải hiển thị thời gian load hệ thống trong 1 phút, 5 phút và 15 phút cuối.

Trung bình tải ở đây mỗi hệ thống sẽ mỗi khác. Nếu Server/VPS của bạn có 2 Cpu(s) thì trung bình tải chỉ nên là dưới 2. Tương tự Server/VPS có 40 cpu(s) thì trung bình tải chỉ nên dưới 40. Nếu con số này cao hơn số CPU của bạn thì hệ thống đang quá tải, số lượng công việc xử lý vượt qua mức CPU có thể xử lý hiện tại.

Dòng 2

top c 3
  • Tổng số tác vụ có trên máy chủ
  • Số lượng tác vụ đang chạy
  • Số lượng tác vụ trong trạng thái “ngủ”
  • Số lượng tác vụ đã dừng
  • Số lượng tác vụ zombie (tiến trình không tồn tại hoặc bị hỏng)

Dòng 3

top c 4
  • Mức sử dụng CPU bởi người dùng theo tỷ lệ phần trăm
  • Mức sử dụng CPU bởi hệ thống theo tỷ lệ phần trăm
  • Mức sử dụng CPU bởi các tiến trình có mức ưu tiên thấp theo tỷ lệ phần trăm
  • Mức sử dụng CPU bởi idle process (tiến trình cho biết bộ xử lý đang rảnh rỗi) theo tỷ lệ phần trăm
  • Mức sử dụng CPU bởi io wait (thời gian CPU không hoạt động để chờ I/O disk hoàn thành) theo tỷ lệ phần trăm
  • Mức sử dụng CPU bởi việc ngắt phần cứng theo tỷ lệ phần trăm
  • Mức sử dụng CPU bởi việc ngắt phần mềm theo tỷ lệ phần trăm
  • Mức sử dụng CPU bởi steal time (thời gian CPU ảo “chờ” CPU thực, trong khi bộ ảo hóa đang phục vụ bộ xử lý ảo khác) theo tỷ lệ phần trăm

Dòng 4

top c 5
  • Tổng bộ nhớ hệ thống(đơn vị Kib)
  • Bộ nhớ trống
  • Bộ nhớ đã sử dụng
  • Bộ nhớ đệm buffer cache
Dòng 5
top c 6
  • Tổng swap có sẵn(đơn vị Kib)
  • Tổng swap còn trống
  • Tổng swap đã sử dụng
  • Bộ nhớ khả dụng

Swap là RAM ảo, được sử dụng khi bộ nhớ vật lý (RAM) bị đầy. Luôn luôn bật Swap để khi hệ thống đầy ram vật lý sẽ không bị treo.

Hiện tại mình đang tắt Swap(Không nên), để bật lại swap các bạn sử dụng lệnh:

swapon -a

Một số trường hợp thông số swap used của bạn sẽ tăng lên khi ram đầy, và khi ram hết đầy thì lượng swap này cũng không giảm đi. Để giảm swap used về 0 các bạn sử dụng 2 lệnh sau:

swapoff -a

swapon -a

Các bạn chờ lệnh swapoff -a chạy xong rồi mới chạy lệnh swapon -a , thời gian lâu hay ngắn tùy vào lượng swap đã sử dụng (swap used) của bạn nhiều hay ít. Trong quá trình này swap used sẽ tăng lên 100%.

Nguyên nhân mình tắt swap vì mình dùng xong lệnh swapoff -a mà quên chạy tiếp swapon -a  các bạn đừng như mình.

Bảng chính

top c 7
  • ID tiến trình
  • Người dùng(Mình có ẩn bớt một số user chứ mặc định không có trống)
  • Mức độ ưu tiên
  • Mức độ nice (gọi một tập lệnh shell với mức độ ưu tiên cụ thể)
  • Bộ nhớ ảo được sử dụng bởi tiến trình
  • Bộ nhớ “thường trú” mà một tiến trình sử dụng (tức là tiến trình luôn ở trong bộ nhớ và không thể chuyển ra thiết bị lưu trữ khác)
  • Bộ nhớ có thể chia sẻ
  • CPU được sử dụng bởi tiến trình theo tỷ lệ phần trăm của 1 cpu.
  • Bộ nhớ được sử dụng bởi tiến trình theo tỷ lệ phần trăm
  • Thời gian tiến trình đã được chạy
  • Lệnh

Giữ lệnh top luôn chạy trong nền trên máy tính Linux

Bạn có thể dễ dàng giữ lệnh top luôn chạy mà không cần phải nhập lệnh vào terminal mỗi lần mở máy.

Để tạm dừng lệnh top và tiếp tục sử dụng terminal, nhấn CTRL + Z trên bàn phím.

Để đưa lệnh top trở lại foreground, hãy nhập fg.

Các tham số thường dùng cho lệnh top

Tham sốTênMô tả
-hHelpHiển thị nội dung thướng dẫn lệnh top
-vVersionXem phiên bản của thư viện đnag sử dụng
-bBatch ModeSử dụng lệnh top với chế độ batch mode, cho phép gửi nội dung trả về của lệnh ra một tập tin khác hoặc gửi qua ứng dụng khác
-cToggle command line/program name
Tiến trình hiển thị ở cột COMMAND trong lệnh top sẽ hiển thị dưới dạng lệnh thay vì tên chương trình. Hoặc chuyển đổi qua lại trong lúc đang xem lệnh top với phím c.
-dDelay time intervalChỉ định thời gian refresh giao diện lệnh top.
-e [k | m | g | t | p]task memory scalingTuỳ chọn hiển thị đơn vị bộ nhớ đang sử dụng, có thể tuỳ chọn hiển thị k(kibibytes), m(mebibytes), g(gibibytes), t(tebibytes), p(pebibytes), e(exbibytes).
-uMonitor user IDs modeXem lệnh top với các tiến trình của user được chỉ định
-pMonitor process IDs modeXem lệnh top với ID tiến trình được chỉ định
-iIdle process toggleKhông hiển thị các tiến trình có trạng thái idle

Hiển thị phiên bản hiện tại

Nhập thông tin sau để hiển thị chi tiết phiên bản hiện tại cho lệnh top:

top -h

Đầu ra ở dạng sau:

procps -ng version 3.3.10

Chỉ định thời gian trễ giữa các lần refresh màn hình

Để chỉ định độ trễ giữa các lần refresh màn hình trong khi sử dụng top, nhập lệnh sau:

top -d

Để refresh màn hình sau mỗi 5 giây, hãy nhập:

top -d 5

Lấy danh sách các cột để sắp xếp theo thứ tự

Lấy danh sách những cột mà bạn có thể sắp xếp lệnh top bằng cách nhập như sau:

top -O

Có rất nhiều cột được liệt kê, do đó bạn có giảm bớt đầu ra hiển thị như sau:

top -O | less

Sắp xếp các cột trong lệnh top theo tên cột

Sử dụng lệnh trong phần trước để tìm một cột có thể sắp xếp, rồi dùng cú pháp sau để sắp xếp theo cột đó:

top -o

Để sắp xếp theo % CPU, hãy gõ lệnh sau:

top -o %CPU

Chỉ hiển thị những tiến trình cho một người dùng cụ thể

Để chỉ hiển thị các tiến trình mà người dùng cụ thể đang chạy, hãy sử dụng cú pháp sau:

top -u

Ví dụ, để hiển thị tất cả các tiến trình mà người dùng đang chạy, hãy gõ lệnh sau:

top -u gary

Ẩn các Idle Task

Chế độ xem mặc định trong top có thể hơi lộn xộn và nếu bạn chỉ muốn xem các tiến trình đang hoạt động (nghĩa là những tiến trình không ở chế độ idle – “nhàn rỗi”) thì bạn có thể chạy lệnh sau:

top -i

Thêm cột được hiển thị với lệnh top

Trong khi chạy lệnh top, bạn có thể nhấn phím F để hiển thị danh sách các trường có thể được hiển thị trong bảng:

  • Sử dụng các phím mũi tên để di chuyển lên và xuống danh sách các trường.
  • Để hiển thị một trường trên màn hình, nhấn phím D. Để xóa trường, nhấn D trên trường đó một lần nữa. Dấu hoa thị (*) sẽ xuất hiện bên cạnh những trường được hiển thị.
  • Bạn có thể sắp xếp bảng theo trường bằng cách nhấn phím S trên trường bạn muốn sắp xếp.
  • Nhấn phím Enter để xác nhận thay đổi và nhấn Q để thoát.

Chuyển đổi giữa các chế độ

Trong khi chạy lệnh top, bạn có thể nhấn phím A để chuyển đổi giữa màn hình tiêu chuẩn và màn hình thay thế.

Thay đổi màu sắc

Nhấn phím Z để thay đổi màu của các giá trị trong top.

Có ba giai đoạn cần thiết để thay đổi màu sắc:

  1. Nhấn S cho dữ liệu tóm tắt, M cho thông báo, H cho tiêu đề cột hoặc T cho thông tin tác vụ để nhắm mục tiêu đến khu vực cần thay đổi màu sắc.
  2. Chọn màu cho mục tiêu đã xác định: 0 là màu đen, 1 là màu đỏ, 2 là màu xanh lá cây, 3 là màu vàng, 4 là màu xanh lam, 5 là màu đỏ tươi, 6 là màu lục lam và 7 là màu trắng
  3. Nhấn Enter để xác nhận thay đổi

Nhấn phím B để in đậm văn bản.

Thay đổi hiển thị trong khi lệnh top đang chạy

Trong khi lệnh top đang chạy, bạn có thể bật và tắt nhiều tính năng bằng cách nhấn các phím có liên quan.

Bảng sau đây cho thấy phím cần nhấn và chức năng mà nó cung cấp:

Phím chức năngMô tả
AHiển thị thay thế (tắt mặc định)
dRefresh màn hình sau độ trễ được chỉ định, tính bằng giây (mặc định là 1,5 giây)
pGiám sát PID (mặc định tắt), hiển thị tất cả các tiến trình
BKích hoạt bôi đậm (mặc định bật), các giá trị được hiển thị bằng văn bản in đậm
lHiển thị trung bình tải (mặc định bật)
tXác định cách hiển thị các tác vụ (mặc định 1 + 1)
mXác định cách sử dụng bộ nhớ được hiển thị (mặc định 2 dòng)
1CPU đơn (mặc định tắt) – tức là hiển thị cho nhiều CPU
JCăn số sang phải (mặc định bật)
jCăn chỉnh văn bản sang phải (mặc định tắt)
RSắp xếp ngược (mặc định bật) – Từ các tiến trình cao nhất đến những tiến trình thấp nhất
SThời gian tích lũy (mặc định tắt)
uBộ lọc người dùng (mặc định tắt), chỉ hiển thị euid
UBộ lọc người dùng (mặc định tắt) hiển thị bất kỳ uid nào
VChế độ xem Forest (mặc định bật) hiển thị dưới dạng các nhánh
xHighlight cột (mặc định tắt)
zHiển thị nhiều màu hoặc đơn sắc (mặc định bật)

Còn có nhiều tham số hơn dành cho lệnh top. Bạn có thể đọc thêm về chúng bằng cách nhập thông tin sau vào cửa sổ terminal:

man top

Cảm ơn bạn đã theo dõi bài viết của AZDIGI!

Đánh giá

Tham gia nhóm hỗ trợ Server - Hosting

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay

Bài viết cùng chuyên mục

AZDIGI – Không chỉ là đơn vị hàng đầu trong lĩnh vực Web Hosting và Máy chủ, chúng tôi mong muốn mang lại những kiến thức bổ ích nhất và luôn cập nhật thường xuyên cho cộng đồng người đam mê thiết kế website, công nghệ,…

Vui lòng không sao chép nội dung nếu chưa xin phép. Designed and Developed by PenciDesign