Nội dung
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.
Thông tin sau được hiển thị khi bạn chạy lệnh top trong Linux:
Dòng 1
- 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
- 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
- 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
- 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
- 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
- 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ên | Mô tả |
-h | Help | Hiển thị nội dung thướng dẫn lệnh top |
-v | Version | Xem phiên bản của thư viện đnag sử dụng |
-b | Batch Mode | Sử 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 |
-c | Toggle 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 . |
-d | Delay time interval | Chỉ định thời gian refresh giao diện lệnh top . |
-e [k | m | g | t | p] | task memory scaling | Tuỳ 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). |
-u | Monitor user IDs mode | Xem lệnh top với các tiến trình của user được chỉ định |
-p | Monitor process IDs mode | Xem lệnh top với ID tiến trình được chỉ định |
-i | Idle process toggle | Khô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:
- 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.
- 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
- 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ăng | Mô tả |
A | Hiển thị thay thế (tắt mặc định) |
d | Refresh màn hình sau độ trễ được chỉ định, tính bằng giây (mặc định là 1,5 giây) |
p | Giám sát PID (mặc định tắt), hiển thị tất cả các tiến trình |
B | Kí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 |
l | Hiển thị trung bình tải (mặc định bật) |
t | Xác định cách hiển thị các tác vụ (mặc định 1 + 1) |
m | Xác định cách sử dụng bộ nhớ được hiển thị (mặc định 2 dòng) |
1 | CPU đơn (mặc định tắt) – tức là hiển thị cho nhiều CPU |
J | Căn số sang phải (mặc định bật) |
j | Căn chỉnh văn bản sang phải (mặc định tắt) |
R | Sắ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 |
S | Thời gian tích lũy (mặc định tắt) |
u | Bộ lọc người dùng (mặc định tắt), chỉ hiển thị euid |
U | Bộ lọc người dùng (mặc định tắt) hiển thị bất kỳ uid nào |
V | Chế độ xem Forest (mặc định bật) hiển thị dưới dạng các nhánh |
x | Highlight cột (mặc định tắt) |
z | Hiể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!