Mục lục
1. Giới thiệu
Ở bài trước, tôi đã hướng dẫn các bạn sử dụng vmstat để khoanh vùng vấn đề khi có hiện tượng hệ điều hành bị chậm.
Sau khi đã khoanh vùng nguyên nhân xuất phát từ 1 thành phần nào đó, bạn có thể sử dụng các câu lệnh chuyên sâu cho thành phần đó để kiểm tra kỹ hơn, để tìm ra gốc rễ của vấn đề, từ đó đưa ra phương án phù hợp.
Giả sử tôi đã khoanh vùng được nguyên nhân chậm do CPU (hoặc Memory) có vấn đề, vậy tiếp theo tôi cần làm gì?
2. Sử dụng lệnh top
Cách thông dụng nhất để check CPU là dùng câu lệnh top
Ý nghĩa của các cột quan trọng trong lệnh top:
- PID: Số định danh cho 1 process của hệ điều hành (Process ID)
- USER: Tên User đang chạy process.
- %CPU: Tỷ lệ phần trăm đang sử dụng CPU của process
- %MEM: Tỷ lệ phần trăm đang sử dụng Memory của process.
3. Sử dụng lệnh ps
Cách thứ 2, tôi dùng lệnh ps với các option như sau:
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
Kết quả của câu lệnh
Phần –sort=-%mem tức là tôi sẽ sắp xếp những tiến trình sử dụng Memory theo thứ tự giảm dần. Bạn cũng có thể sắp xếp theo sử dụng CPU với option –sort=-%cpu
4. Xem thông tin chi tiết của process
Sau khi dùng top và ps, bạn đã tìm ra được PID của tiến trình chiếm nhiều tài nguyên.
Tiếp theo nếu bạn muốn xem các thông tin chi tiết về process, bạn có thể tìm thấy rất nhiều thông tin hữu ích tại thư mục /proc của hệ điều hành.
Thư mục /proc là 1 thư mục lưu trữ thông tin các process đang chạy. Mỗi process sẽ có 1 thư mục riêng (chính là số PID của nó) để lưu thông tin.
Với ví dụ bên trên, tôi có process có PID là 14829 đang chiếm CPU rất cao. Tôi sẽ di chuyển vào thư mục riêng của process đó tại đường dẫn /proc/14829/
Ở đó bạn sẽ thấy rất nhiều file:
Bạn có thể xem một số thông tin hữu ích như sau:
1. Xem status của process
cat /proc/14829/status
2. Xem câu lệnh chi tiết của process đó
cat /proc/14829/cmdline
Còn rất nhiều thông tin khác, các bạn tìm hiểu tiếp nhé.
Nguồn: https://dangxuanduy.com/
Hiện tại, tôi có tổ chức đều đặn các khóa học về quản trị Oracle Database, tôi sẽ để thông tin ở đây, để bạn nào quan tâm về lịch học cũng như chương trình học có thể theo dõi nhé.
KHOÁ DÀNH CHO NGƯỜI MỚI
KHÓA HỌC: QUẢN TRỊ ORACLE DATABASE THẬT LÀ ĐƠN GIẢN (ADMIN 1)
CÁC KHOÁ NÂNG CAO:
KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ KIẾN TRÚC MULTITENANT 12c
KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ HỆ THỐNG DATA GUARD
CÁC KHOÁ COMBO:
COMBO 1: ADMIN 1 + MULTITENANT 12c
COMBO 3: ADMIN 1 + MULTITENANT 12c + DATA GUARD
LỊCH HỌC:
Mời bạn xem tại đây: LỊCH HỌC CÁC LỚP ORACLE
ĐĂNG KÝ:
https://forms.gle/MtCAoRQFenP886y79
Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.