Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Quy Trình và Giám Sát Process trong Linux

    Quy Trình và Giám Sát Process trong Linux


    Khi bạn thực thi một lệnh trên Linux, lệnh đó sẽ trở thành một process (tiến trình) được hệ thống quản lý để đảm bảo nó nhận được đủ CPU, bộ nhớ, và tài nguyên I/O cần thiết cho đến khi hoàn tất hoặc bị chấm dứt. Việc nắm rõ cách Linux quản lý và giám sát process là kỹ năng quan trọng cho quản trị hệ thống, điều tra sự cố, và phân tích bảo mật. 1. Process và Thread
    • Mỗi tiến trình được hệ thống gán một PID (Process ID) duy nhất để phân biệt.
    • Thread là đơn vị thực thi bên trong process, có thể chia sẻ tài nguyên của process.
      • Single-threaded process: chỉ có một thread duy nhất.
      • Multi-threaded process: có nhiều thread chạy song song, giúp tăng tốc độ xử lý.
    • Mỗi thread có TID (Thread ID) riêng, kernel theo dõi tương tự như PID.
    2. Cơ chế Tạo Process trong Linux (Fork & Exec)
    • fork(): tạo một process con từ process cha.
      • Process cha nhận về PID của process con.
      • Process con nhận giá trị 0.
    • exec(): thay thế process hiện tại bằng một chương trình mới.
    • Ví dụ:
      • Shell CLI khi bạn gõ một lệnh:
        1. Shell fork một process con.
        2. Process con exec chương trình tương ứng.
    • Không phải lúc nào fork cũng đi kèm exec — ví dụ daemon server TCP có thể fork nhiều process con để xử lý nhiều kết nối đồng thời.
    3. Giám sát Process


    Khi điều tra hệ thống, bạn cần biết process nào đang chạy, ai sở hữu chúng, và tài nguyên chúng tiêu thụ. Công cụ top
    • top cho phép xem real-time CPU, memory, và process.
    • Thoát bằng q hoặc <Ctrl-C>.

    Khu vực hiển thị:
    1. Phần trên – thông tin tổng quan:
      • Load Average (1, 5, 15 phút gần nhất).
      • Số lượng process và trạng thái.
      • Thống kê CPU:
        • us: process user space.
        • sy: process kernel.
        • id: idle (nhàn rỗi).
      • Bộ nhớ RAM và swap.
    2. Phần dưới – danh sách process:
      • PID: ID tiến trình.
      • User: chủ sở hữu process.
      • PR: mức ưu tiên.
      • NI (Nice): giá trị ưu tiên do người dùng/superuser đặt.
        • -20: ưu tiên cao nhất.
        • 19: thấp nhất.
        • Giúp giảm ảnh hưởng của process nặng lên hệ thống.
      • VIRT: bộ nhớ ảo.
      • RES: bộ nhớ vật lý đang dùng (không swap).
      • SHR: bộ nhớ chia sẻ.
      • S: trạng thái process:
        • D: uninterruptible sleep (chờ I/O).
        • R: running.
        • S: sleeping.
        • T: stopped bởi signal/job control.
        • t: stopped bởi debugger.
        • Z: zombie (đã kết thúc nhưng chưa bị gỡ khỏi bảng process).
      • %CPU: % CPU đang sử dụng.
      • %MEM: % RAM đang sử dụng.
      • TIME+: tổng thời gian CPU đã tiêu thụ.
      • COMMAND: tên process.
    4. Lưu ý cho Kỹ sư An ninh và Vận hành
    • top chỉ là một trong nhiều công cụ — bạn có thể kết hợp với ps, htop, hoặc pidstat để phân tích sâu hơn.
    • Theo dõi PID giúp bạn kill process gây treo hoặc chiếm tài nguyên.
    • Trong điều tra sự cố, phân tích %CPU, %MEM, và trạng thái process giúp phát hiện malware hoặc process bất thường.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X