Cách quản lý các quy trình Linux với htop | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Cách quản lý các quy trình Linux với htop

Chia sẻ kiến thức 07/03/2022

Tiện ích top là một công cụ giám sát hệ thống tuyệt vời, nhưng htop là một giải pháp thay thế có tính tương tác và hiệu quả cao. 

Tiện ích top là một công cụ giám sát hệ thống tuyệt vời, nhưng htop là một giải pháp thay thế có tính tương tác và hiệu quả cao. 

Việc giám sát hệ thống cho phép bạn đo lường hiệu suất của các ứng dụng và dịch vụ Linux. Bạn có thể đo lường các quy trình và dịch vụ bằng cách sử dụng các quy trình và dịch vụ mặc định hoặc do bạn tự cài đặt. Với các chương trình này, bạn có thể tối ưu hóa hiệu suất, phát hiện sự cố và xác định nguyên nhân của chúng.

Lệnh htop là một công cụ giám sát hệ thống có tính tương tác dành cho các hệ thống giống như Linux và Unix. Đó là một giải pháp thay thế cho công cụ dòng lệnh mặc định, top, vốn được cài đặt sẵn trên tất cả các bản phân phối Linux.

Bài viết này giải thích cách htop khác với top. Bạn sẽ hiểu cách cài đặt htop trên các bản phân phối Linux khác nhau hoặc xây dựng nó từ nguồn. Và bạn sẽ biết cách sử dụng giao diện của htop và thực hiện giám sát hệ thống bằng phím tắt hoặc chuột.

htop vs. top

htop có nhiều lợi ích hơn chương trình top mặc định. Đây chỉ là một vài trong số đó: 

htop top
Trực quan, đầy màu sắc, và có giao diện dựa trên văn bản tốt hơn Giao diện người dùng cơ bản
Kéo theo chiều ngang và chiều dọc Không hỗ trợ kéo, các quy trình cập nhật 5 giây một lần
Hỗ trợ các thao tác dùng chuột Không hỗ trợ các thao tác dùng chuột
Hiển thị nhân và luồng người dùng (user thread) Hiển thị quy trình không có ngữ cảnh (context)
Có thể kiểm soát các quy trình trực tiếp từ giao diện Yêu cầu bạn rời khỏi giao diện lệnh Top để kill/renice một quy trình
Cho phép bạn dừng nhiều quy trình cùng một lúc mà không yêu cầu PID của chúng Yêu cầu PID để dừng một quá trình
Không yêu cầu giá trị ưu tiên hoặc ID quy trình để renice Yêu cầu giá trị ưu tiên/PID để chỉnh sửa quy trình
 

Cài đặt htop trên nhiều bản phân phối Linux khác nhau

Nếu bạn chỉ muốn có một phiên bản htop gần đây, bạn có thể tìm thấy một gói cho tất cả các bản phân phối Linux phổ biến. Bạn có thể nhanh chóng cài đặt nó bằng trình quản lý gói, sử dụng một trong các lệnh sau:

Trên Debian

sudo apt install htop

Trên Ubuntu

sudo apt-get install htop

Trên Manjaro/Arch

pacman -S htop

Trên CentOS hoặc RHEL8/7

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm #RHEL8
sudo yum install htop
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm #RHEL7
sudo yum install htop
yum -y install epel-release #CentOS
yum -y update
yum -y install htop

Trên Fedora

sudo dnf install htop

Trên OpenSUSE

sudo zypper install htop

Các cách khác để cài đặt htop

Compile (Biên dịch) htop từ mã nguồn

htop là một dự án mã nguồn mở, vì vậy bạn có thể lấy mã và tự xây dựng để có được phiên bản mới nhất với tất cả các tính năng và cập nhật mới.

htop sử dụng thư viện ncurses mà bạn sẽ cần cài đặt cùng với các công cụ phát triển của nó. Bạn có thể làm như vậy đối với các bản phân phối dựa trên RHEL/CentOS/Fedora như sau:

yum groupinstall "Development Tools"
yum install ncurses ncurses-devel

Để xây dựng htop cho bản phân phối Debian/Ubuntu:

sudo apt-get install build-essential
sudo apt-get install libncurses5-dev libncursesw5-dev

Bây giờ hãy tải xuống phiên bản htop mới nhất từ ​​kho lưu trữ GitHub của nó và giải nén nó bằng lệnh tar:

wget -O htop-2.0.2.tar.gz https://github.com/htop-dev/htop/archive/refs/tags/2.0.2.tar.gz
tar xvfvz htop-2.0.2.tar.gz

Sau đó, di chuyển vào thư mục htop và sử dụng config, theo sau là lệnh make để cài đặt/biên dịch htop:

cd htop-2.0.2
./configure
make
sudo make install

Từ Snap

Một cách khác để cài đặt phiên bản htop mới nhất là sử dụng snap-store – trình quản lý gói của bên thứ ba. Đây là một hệ thống quản lý và phát triển ứng dụng trên nhiều bản phân phối

Để cài đặt htop trong Ubuntu qua snap, bạn cần cài đặt/kích hoạt snapd:

sudo apt update
sudo apt install snapd
sudo snap install htop 

Bạn có thể tìm thông tin chi tiết về cài đặt htop trên các Bản phân phối Linux khác từ trang web Snap Store chính thức.

Hiểu về giao diện htop

Sau khi cài đặt, chạy lệnh htop trong một terminal để xem giao diện hiển thị bên dưới:

Giao diện htop có ba bảng chính. Hãy cùng khám phá thông tin hiển thị trong mỗi bảng.

Header

Header (tiêu đề) chia phần trên cùng của giao diện thành các phần bên trái và bên phải. Chúng hiển thị mức sử dụng CPU/bộ nhớ, bộ nhớ swap (swap space), thời gian hoạt động của máy, các tác vụ và mức độ tải trung bình (load average).

Tiêu đề Htop

Phần trên cùng bên trái hiển thị một dòng cho mỗi lõi CPU. Ví dụ: ảnh chụp màn hình ở trên hiển thị hai lõi CPU, với tỷ lệ phần trăm đại diện cho lượng tải (load) trên mỗi lõi.

Bạn cũng có thể xem mã màu do htop cung cấp để xác định loại quy trình nào đang sử dụng CPU:

  • Màu đỏ: tỷ lệ phần trăm bị chiếm bởi các quy trình hệ thống
  • Màu xanh lam: tỷ lệ phần trăm bị chiếm bởi quy trình ưu tiên thấp
  • Màu xanh lá cây: tỷ lệ phần trăm bị chiếm bởi các quy trình của người dùng

Các dòng bộ nhớ cũng sử dụng mã màu để biểu thị:

  • Màu vàng: phần trăm bị chiếm bởi nội dung bộ nhớ cache
  • Màu xanh lá cây: phần trăm bị chiếm bởi bộ nhớ đã sử dụng
  • Màu xanh lam: phần trăm bị chiếm bởi nội dung buffer (vùng lưu trữ dữ liệu tạm thời). 

Bảng giữa

Bảng trung tâm hiển thị tất cả các quy trình đang chạy với các dữ liệu thống kê về chúng dựa trên lượng sử dụng CPU. Nó hiển thị các thông tin sau cho mỗi quá trình:

  • ID quy trình (Program ID, hay PID)
  • Chủ sở hữu (Người dùng)
  • Lượng tiêu thụ bộ nhớ ảo
  • Phần trăm bộ xử lý
  • Bộ nhớ vật lý

Bạn sẽ quen với phần này của màn hình nếu bạn đã sử dụng lệnh top.

Phần cuối cùng chỉ trình bày một vài tính năng tương tác của htop. Nó chứa tất cả các tùy chọn cần thiết để hoạt động xung quanh giao diện đồ họa htop.

Chân trang Htop

Ví dụ, nhấn F3, và bạn sẽ thấy một khoảng trống để nhập tên chương trình nhằm tìm tiến trình liên quan của nó. Bạn cũng có thể sử dụng chuột để nhấp vào F3 ở chân trang. Một cách khác để thực hiện tìm kiếm là gõ ‘/‘ vì htop hỗ trợ chỉnh sửa vi-like.

Chọn F2 để vào menu cài đặt để đặt meter, thay đổi tùy chọn hiển thị, màu sắc và thêm/bớt cột khỏi bảng điều khiển giữa.

Đây là cách bạn có thể di chuyển một phần tử của giao diện htop trong header. Bắt đầu bằng cách chọn Swap [Bar] bằng các phím con trỏ, sau đó nhấn Enter hoặc nhấp vào Move ở chân trang:

Sau đó, sử dụng các phím con trỏ để định vị trường và nhấp vào Done để hoàn tất việc di chuyển:

Bạn cũng có thể thêm meter mới vào giao diện htop. Chọn bất kỳ từ cột Available meters và nhấp vào Add để thêm vào (hoặc Done để hủy).

Phím F9 mở ra một giao diện liệt kê tất cả các tùy chọn có sẵn trong lệnh kill -l để gửi tín hiệu tiêu diệt đến quá trình đã chọn. Sử dụng tín hiệu SIGTERM mặc định nếu bạn không chắc nên sử dụng tín hiệu nào.

Phím tắt trên bàn phím htop

Chức năng / Phím tắt Miêu tả
u Sắp xếp các quy trình theo tên người dùng
P Chỉnh sửa đường dẫn chương trình
F2 hoặc S Vào phần cài đặt
F3 hoặc / Quá trình tìm kiếm
F5 hoặc t Đã phân loại hoặc xem dạng cây
F6 +/- Chọn quy trình gốc để mở rộng/thu gọn cây
F7 hoặc [ Chỉ tăng mức độ ưu tiên cho root
F8 hoặc] Mức độ ưu tiên thấp (nice +)
F9 hoặc k Dừng (kill) quá trình 
H Chuyển đổi các chuỗi quy trình của người dùng
K Chuyển đổi các chuỗi quy trình hạt nhân
 

htop, Công cụ tương tác để giám sát hệ thống Linux

Sự khác biệt chính giữa htop và top là htop cung cấp nhiều chức năng hơn và dễ sử dụng hơn. Giám sát hệ thống với giao diện đơn sắc, chỉ dùng bàn phím có thể là một nhiệm vụ khó khăn. htop cung cấp nhiều tính năng để làm nhẹ gánh nhiệm vụ xử lý các quy trình và sử dụng tài nguyên của chúng.

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/htop-linux-process-manage/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!