Kiểm tra việc sử dụng Ram của các Application/Process (PID) trên server Linux

  • Friday 31/01/2020

Trên thực tế sẽ có rất nhiều cách để kiểm tra sử dụng tài nguyên Ram của các ứng dụng/tiến trình tùy vào kiến thức và trình độ của người quản trị hệ thống để có thông tin chính xác và hiệu quả.
Đơn giản nhất vẫn là các lệnh cơ bản của Linux như: top, free, ps, pmap, … hoặc 1 số command – dòng lệnh đã được custom hoặc sử dụng với script bash shell, python để theo dõi.
Dưới đây, P.A Việt Nam sẽ cung cấp 1 số cách dựa trên kiến thức được đúc kết trong quá trình làm việc và hỗ trợ Khách hàng từ các Kỹ thuật viên có nhiều kinh nghiệm với Linux để kiểm tra:

  • Kiểm tra sử dụng Ram trên hệ thống
    free -m
  • Sử dụng top command
    top -n 1
    top -c sau đó nhấn tổ hợp phím Shift + m
  • Sử dụng ps command
    ps -e -orss=,args= | sort -b -k1,1n
  • Sử dụng pmap command
    pmap [PID] | tail -n 1 với [PID] là ID của 1 tiến trình cần kiểm tra
  • Command đã được custom
    ps -eo size,pid,user,command --sort -size | awk '{ hr=$1/1024 ; printf("%13.2f Mb ",hr) } { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" }' | cut -d "" -f2 | cut -d "-" -f1
  • Script bash shell của 1 ứng dụng cụ thể.
    – Tạo 1 file có tên: check_memory
    #!/bin/bash
    ps -C $1 -O rss | gawk '{ count ++; sum += $2 }; END {count --; print "Number of processes =",count; print "Memory usage per process =",sum/1024/count, "MB"; print "Total memory usage =", sum/1024, "MB" ;};'

    – Set permission: chmod +x check_memory
    – Run script: ./check_memory [process] với [process] là tên tiến trình ứng dụng cần kiểm tra
    Ví dụ: ./check_memory httpd
    Number of processes = 64
    Memory usage per process = 24.3619 MB
    Total memory usage = 1024.534 MB
Rate this post