Lệnh top trong Linux là một công cụ mạnh mẽ giúp bạn theo dõi hiệu suất hệ thống một cách trực quan và liên tục. Nó hiển thị danh sách các tiến trình đang chạy, sử dụng CPU, bộ nhớ và các tài nguyên khác theo thời gian thực. Nhờ đó, bạn có thể dễ dàng xác định tiến trình nào đang gây ra tình trạng chậm trễ hoặc ngốn tài nguyên hệ thống.
Lệnh top trong linux là gì?
Lệnh command top in linux là một công cụ dòng lệnh mạnh mẽ, cho phép bạn theo dõi hiệu suất hệ thống Linux một cách trực quan và liên tục. Nó hiển thị danh sách các tiến trình đang chạy, sắp xếp theo mức sử dụng CPU hoặc bộ nhớ, giúp bạn nhanh chóng xác định tiến trình nào đang "ngốn" tài nguyên. Top còn cung cấp thông tin tổng quan về tải hệ thống, thời gian hoạt động, số lượng người dùng đang đăng nhập và mức sử dụng tài nguyên của CPU, RAM, swap. Nhờ đó, bạn có thể dễ dàng phát hiện các vấn đề về hiệu suất và đưa ra biện pháp khắc phục kịp thời. Sử dụng command top in linux thường xuyên giúp bạn quản lý hệ thống hiệu quả hơn.
Tìm hiểu về lệnh top
Trong bước này, chúng ta sẽ tìm hiểu về lệnh top, một công cụ mạnh mẽ để giám sát hiệu suất hệ thống Linux.
Lệnh top cung cấp thông tin theo thời gian thực về các tiến trình đang chạy, CPU, bộ nhớ và tài nguyên hệ thống khác.
Hãy bắt đầu bằng cách chạy lệnh top:
$ top
Ví dụ về đầu ra:
top - 14:22:37 up 1 day, 12:34, 0 users, load average: 0.00, 0.01, 0.05
Tasks: 101 total, 1 running, 99 sleeping, 1 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 1992.0 total, 1537.0 free, 235.0 used, 220.0 buff/cache
MiB Swap: 2047.9 total, 2047.9 free, 0.0 used. 1555.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 8788 5688 3828 S 0.0 0.3 0:02.14 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
5 root 20 0 0 0 0 I 0.0 0.0 0:00.00 slub_flushwq
Lệnh top hiển thị nhiều thông tin hệ thống khác nhau, bao gồm:
- Uptime: Thời gian kể từ khi hệ thống khởi động lần cuối.
- Tasks: Tổng số tiến trình đang chạy, ngủ, dừng và zombie.
- CPU utilization: Tỷ lệ phần trăm thời gian CPU sử dụng ở user mode, system mode, nice mode, idle, waiting, hardware interrupts và software interrupts.
- Memory usage: Tổng bộ nhớ, bộ nhớ trống, bộ nhớ đã sử dụng và bộ nhớ đệm/cache.
- Swap usage: Tổng dung lượng swap, dung lượng swap trống và dung lượng swap đã sử dụng.
- Process list: Danh sách các tiến trình sử dụng nhiều tài nguyên nhất, được sắp xếp theo CPU hoặc bộ nhớ.
Bạn có thể tùy chỉnh đầu ra của lệnh top bằng cách nhấn các phím khác nhau, chẳng hạn như:
h: Hiển thị menu trợ giúp1: Chuyển đổi giữa CPU utilization cho mỗi CPU và tổng hợpf: Quản lý các cột được hiển thịo: Tùy chỉnh thứ tự sắp xếpu: Lọc các tiến trình theo một người dùng cụ thể
Để thoát lệnh top, hãy nhấn q.
Khám phá các Tùy chọn Lệnh và Tùy chỉnh hàng đầu
Trong bước này, chúng ta sẽ khám phá các tùy chọn và tùy chỉnh có sẵn trong lệnh top.
Mục đích là để điều chỉnh đầu ra cho phù hợp với nhu cầu cụ thể của bạn.
Hãy bắt đầu bằng cách hiển thị menu trợ giúp của lệnh top:
$ top -h
Lệnh này sẽ hiển thị tất cả các tùy chọn có sẵn và mô tả chi tiết của chúng.
Một số tùy chọn thường được sử dụng bao gồm:
-d: Đặt khoảng thời gian trễ giữa các lần cập nhật (mặc định là 3 giây).-n: Chỉ định số lần lặp lại (mặc định là không giới hạn).-p: Giám sát các ID tiến trình (Process IDs) cụ thể.-u: Hiển thị các tiến trình thuộc sở hữu của một người dùng cụ thể.-o: Sắp xếp danh sách tiến trình theo một cột cụ thể.
Ví dụ: để hiển thị 5 tiến trình hàng đầu được sắp xếp theo mức sử dụng bộ nhớ, bạn có thể chạy:
$ top -o %MEM -n 5
Ví dụ về đầu ra:
top - 14:30:37 up 1 day, 12:42, 0 users, load average: 0.00, 0.00, 0.00
Tasks: 101 total, 1 running, 99 sleeping, 1 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 1992.0 total, 1537.0 free, 235.0 used, 220.0 buff/cache
MiB Swap: 2047.9 total, 2047.9 free, 0.0 used. 1555.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 8788 5688 3828 S 0.0 0.3 0:02.14 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
5 root 20 0 0 0 0 I 0.0 0.0 0:00.00 slub_flushwq
Bạn cũng có thể tùy chỉnh các cột được hiển thị bằng cách nhấn phím f trong lệnh top.
Điều này cho phép bạn thêm, xóa hoặc sắp xếp lại các cột cho phù hợp với nhu cầu.
Để thoát khỏi lệnh top, hãy nhấn phím q.
Phân tích Hiệu năng Hệ thống bằng top
Trong bước cuối cùng này, ta sẽ dùng lệnh top để phân tích hiệu năng hệ thống.
Việc này giúp ta xác định các vấn đề hoặc điểm nghẽn tiềm ẩn trong hệ thống.
Hãy bắt đầu bằng việc theo dõi hiệu năng tổng thể của hệ thống:
$ top
Hãy chú ý đến các chỉ số quan trọng sau đây:
- CPU utilization: Tỷ lệ phần trăm thời gian CPU sử dụng ở các chế độ khác nhau. CPU utilization cao có thể chỉ ra tiến trình hoặc ứng dụng đang "ngốn" CPU.
- Memory usage: Tổng dung lượng, dung lượng trống, đã sử dụng và bộ nhớ đệm. Memory usage cao có thể báo hiệu rò rỉ bộ nhớ.
- Swap usage: Tổng dung lượng, dung lượng trống và đã sử dụng của swap. Swap usage quá mức có thể cho thấy thiếu bộ nhớ vật lý.
- Process list: Danh sách các tiến trình "ngốn" tài nguyên nhất, được sắp xếp theo CPU hoặc bộ nhớ. Xác định tiến trình nào đang sử dụng nhiều tài nguyên hệ thống.
Để điều tra sâu hơn một tiến trình cụ thể, bạn có thể dùng các tùy chọn sau:
k: Kill một tiến trình (tắt tiến trình)r: Renice một tiến trình (thay đổi độ ưu tiên của nó)f: Quản lý các cột hiển thịo: Tùy chỉnh thứ tự sắp xếp
Ví dụ, để xem 5 tiến trình hàng đầu được sắp xếp theo CPU usage:
$ top -o %CPU -n 5
Ví dụ về đầu ra:
top - 14:36:37 up 1 day, 12:48, 0 users, load average: 0.00, 0.00, 0.00
Tasks: 101 total, 1 running, 99 sleeping, 1 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 1992.0 total, 1537.0 free, 235.0 used, 220.0 buff/cache
MiB Swap: 2047.9 total, 2047.9 free, 0.0 used. 1555.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 8788 5688 3828 S 0.0 0.3 0:02.14 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
5 root 20 0 0 0 0 I 0.0 0.0 0:00.00 slub_flushwq
Điều này sẽ giúp bạn xác định các tiến trình đang "ngốn" nhiều tài nguyên CPU.
Để thoát khỏi lệnh top, hãy nhấn phím q.
Kết luận cho linux top command
Vậy là chúng ta đã cùng nhau khám phá lệnh top, một công cụ vô cùng hữu ích trên Linux. Hy vọng qua bài viết này, bạn đã hiểu rõ hơn về cách sử dụng và những thông tin mà nó cung cấp. Linux top command giúp bạn theo dõi hiệu suất hệ thống một cách trực quan và nhanh chóng. Đừng ngần ngại thử nghiệm các tùy chọn khác nhau để làm quen với lệnh này nhé. Việc nắm vững cách đọc và phân tích dữ liệu từ top sẽ giúp bạn chẩn đoán và giải quyết các vấn đề về hiệu suất một cách hiệu quả. Chúc bạn thành công trên hành trình khám phá Linux và làm chủ hệ thống của mình! Hãy nhớ rằng, thực hành thường xuyên là chìa khóa để thành thạo bất kỳ công cụ nào.