Mục lục

1. Giới thiệu

Khi hệ điều hành Windows bị chậm, thông thường, bạn sẽ mở Task Manager lên, xem CPU, RAM có bị đầy hay không. Trên Linux cũng có nhiều công cụ có chức năng tương tự như vậy, như top, vmstat, iostat, …

Đọc thêm  Bí kíp Linux #4: Xem thông tin các phiên làm việc của người dùng

Trong bài viết này, tôi sẽ hướng dẫn các bạn sử dụng công cụ vmstat để xác định nguyên nhân hệ điều hành bị chậm. Các công cụ khác, tôi sẽ lần lượt giới thiệu ở những bài viết sau

 

2. Phân tích

Hệ thống bị chậm thường có thể xuất phát từ nhiều nguyên nhân. Thông thường, nguyên nhân thường xuất phát từ 1 trong 3 thành phần: CPU, RAM (Memory), và đĩa cứng.

Khi thấy hệ thống bị chậm, bạn cần khoanh vùng xem thành phần nào đang có vấn đề, để hạn chế những thao tác thừa thãi, không cần thiết, tập trung vào những hành động thực sự giúp cải thiện hệ thống.

Lệnh vmstat là một trong số các lệnh hữu dụng nhất đối với một người System Admin.

Nó thường được sử  dụng trong các tình huống mà người quản trị muốn biết nhanh tải hoạt động trên máy chủ đang như thế nào.

 

3. Hướng dẫn sử dụng

Lệnh vmstat hiển thị thông tin về hiệu năng thời điểm hiện tại (các thông tin liên quan đến CPU, Disk I/O, Memory, Swap). Câu lệnh và kết quả hiển thị sẽ trông giống như sau:

# vmstat 
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 860944   1380 9701128    0    0     0   124    1    0  0  0 99  0  1

Kết quả trả ra có nhiều thông số, bạn có thể nhìn nhanh vào các thông số sau để khoanh vùng vấn đề như sau:

  • Nếu chỉ số wa (time wait for I/O) mà cao, hệ thống của bạn đang gặp vấn đề liên quan đến I/O. Chúng ta sẽ sử dụng các câu lệnh kiểm tra chi tiết về I/O để phân tích sâu hơn.
  • Nếu chỉ số b (process sleeping) luôn lớn hơn 0 và chỉ số us (chỉ số sử dụng CPU của user) hoặc chỉ số sy (chỉ số sử dụng CPU của system) cao, hệ thống có thể đang gặp vấn đề với CPU. Chúng ta sẽ sử dụng các câu lệnh phân tích CPU để kiểm tra sâu hơn.
  • Nếu chỉ số si (swapped in to disk) và chỉ số so (swapped out to disk) luôn lớn hơn 0 bạn có thể đang gặp vấn đề với Memory. Chúng ta sẽ sử dụng các câu lênh kiểm tra chi tiết hơn liên quan đến Memory.

Để tránh trường hợp bạn phải gõ lệnh vmstat thủ công liên tục trong quá trình giám sát, bạn có thể sử dụng lệnh sau:

# vmstat <thời gian lặp lại> <Số lần sẽ hiển thị>

Ví dụ: Lệnh sau sẽ hiển thị kết quả lệnh vmstat sau mỗi 2 giây, kết thúc sau 5 kết quả.

# vmstat 2 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 860140   1380 9702400    0    0     0   124    1    0  0  0 99  0  1
 0  0      0 859868   1380 9702400    0    0     0     8 3594 6897  0  0 99  0  0
 1  0      0 859884   1380 9702400    0    0     0    16 3690 6923  0  0 99  0  1
 0  0      0 860008   1380 9702400    0    0     0     0 3463 6780  0  0 99  0  0
 0  0      0 859912   1380 9702420    0    0     0  8224 3857 7127  2  0 98  0  0

Bạn có thể bỏ qua tham số thứ 2 để câu lệnh vmstat sẽ chạy liên tục sau thời gian lặp lại

# vmstat 2
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 859036   1380 9702992    0    0     0   124    1    0  0  0 99  0  1
 0  0      0 859468   1380 9703012    0    0     0    18 3451 6832  0  0 99  0  0
 1  0      0 859388   1380 9703012    0    0     0     8 3318 6687  0  0 99  0  0
 1  0      0 859404   1380 9703012    0    0     0   139 3430 6746  0  0 100  0  0
 0  0      0 859436   1380 9703012    0    0     0     0 3441 6885  0  0 99  0  0
--MORE--

Bạn cũng có thể thêm option -t để kết quả có cột thời gian

# vmstat 2 100 -t
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st                 UTC
 1  0      0 859748   1380 9702928    0    0     0   124    1    0  0  0 99  0  1 2021-05-10 13:34:42
 0  0      0 858412   1380 9702928    0    0     0  8224 3841 6934  1  1 98  0  0 2021-05-10 13:34:44
 0  0      0 859104   1380 9702948    0    0     0     8 3427 6839  0  0 99  0  0 2021-05-10 13:34:46
 0  0      0 859104   1380 9702948    0    0     0     8 3273 6620  0  0 99  0  0 2021-05-10 13:34:48
 0  0      0 859104   1380 9702948    0    0     0   168 3455 6873  0  0 99  0  0 2021-05-10 13:34:50

 

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 2: ADMIN 1 + DATA GUARD

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é.

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
0
Rất thích suy nghĩ của bạn, hãy bình luận.x