Linux – Một số kiến thức nên biết

Tram Ho

Cùng điểm qua một vài kiến thức rất gần gũi mà người dùng Linux nên biết.

Bài viết này xoay quanh 3 chủ đề: CPU, RAM, DISK

CPU

Nếu máy tính là một cơ thể, CPU hẳn là bộ não điều khiển, giúp cho các hành động của “cơ thể” được mượt mà. Dưới đây là một số cách kiểm tra bộ não có bình thường hay không 😄

Kiểm tra thông tin CPU

Lệnh này sẽ show toàn bộ thông tin của CPU (tên, hãng sản xuất,…) một cách khá dễ hiểu

Chúng ta có thể kết hợp với lệnh grep để lấy một số thông tin mình mong muốn.

  • Kiểm tra số physical processor – số sockets

  • Kiểm tra số core CPU trên máy:

=> Máy mình có 1 CPU, 4 core

  • Kiểm tra tổng số thread

=> 4 core, mỗi core 1 thread

Từ đó, ta có 1 sockets * 4 cores per socket * 1 thread per core = 4 CPU(s)

Kiểm tra hiệu năng CPU

Có nhiều cách để kiểm tra hiệu năng CPU. Mình thường dùng lệnh top

Dòng đầu tiên cho biết:

  • thời gian hiện tại là 19:58
  • Server đã được bật 2 ngày
  • Số user đang login : 1
  • Load trung bình của server trong 5/10/15 phút lần lượt là 1,38, 1,15, 0,87 phần này khá quan trọng và mình sẽ nói cụ thể hơn bên dưới

Dòng số 2 cho biết có số lượng tiến trình đang hoạt động

Dòng số 3: cho biết tình trạng sử dụng CPU. 16.5 us, 8,3 sy nghĩa là user dùng 16.5% và system dùng 8,3%

Tiếp theo là các thông tin về RAM và SWAP mình sẽ nói cụ thể hơn ở phần RAM bên dưới

Load avg CPU

Có một thông số đáng chú ý là Load avg của CPU tạm dịch là trung bình tải hoặc tải trung bình của CPU

Ở ví vụ trên, chúng ta có load average: 1,38, 1,15, 0,87. Vậy hiểu con số này như thế nào?

Load avg có thể hiểu là TỔNG số lượng process trung bình trong hàng chờ của CPU. Load avg thường được biểu diễn dưới dạng 3 con số, là trung bình trong 5-10-15 phút. Ở đây mình có 4 CPU có nghĩa và load avg trong 5 phút là 1.38. Có nghĩa là Load avg / 1 CPU là

Con số này càng cao thì số lượng process phải chờ CPU xử lí càng nhiều. Phải hiểu rằng, tại 1 thời điểm, 1 cpu chỉ có thể thực thi 1 process. Những process khác sẽ phải chờ đến khi CPU rảnh mới có thể được thực hiện. Cần phân biệt con số này với % sử dụng CPU.

  • % sử dụng CPU cho biết 1 process sử dụng CPU nhiều hay ít
  • Load avg thế hiện số process phải chờ CPU nhiều hay ít

Nắm được 2 con số này sẽ giúp ta đánh giá được hiệu quả hoạt động của CPU và có những giải pháp thích hợp.
Ví dụ như với một máy chủ lưu trữ image dùng chung, hoặc 1 máy chủ LB, không cần xử lí nhiều Logic, chùng ta không cần CPU quá mạnh nhưng sẽ cần nhiều luồng để xử lí nhiều request đồng thời

Đối với việc theo dõi Load avg của CPU, các quản trị viên thường lấy mốc 0.7 /1CPU làm mốc. Nếu vượt ngưỡng này, cần phải theo dõi và có những giải pháp thích hợp (tăng cpu, tăng luồng,..).

RAM

Memory và cache

Linux có xu hướng “cache cả thế giới” để tăng tốc độ xử lí, RAM thường xuyên được giải phóng và lưu tạm vào đĩa để sử dụng khi cần.

Điều này có nghĩa là khi chúng ta mở một process lên và tắt nó đi, hệ thống sẽ cache lại vùng nhớ này để khi ta gọi process một lần nữa, nó sẽ sử dụng ngay lập tức vùng nhớ này thay vì cấp phát lại. Càng mở nhiều process sau đó tắt đi, cache càng nhiều.

Khi mở một process mới, nếu hệ thống thiếu RAM, Linux sẽ chuyển cache vào SWAP để dành toàn bộ RAM cho các process đang thực thi.

Vậy muốn biết hệ thống của bạn có đang bị thiếu RAM, hãy nhìn vào chỉ số SWAP. Nếu SWAP cao nghĩa là máy đang thiếu RAM.
Một câu lệnh phổ biến để xem thông tin về RAM là:

Xóa cache server

Về cách tổ chức memory, cơ chế cache và một số khái niệm bạn có thể đọc thêm ở bài viết này https://kipalog.com/posts/Tim-hieu-to-chuc-memory-va-slab-trong-linux-kernel

  • Xóa Cache

  • Xóa dentries và inodes (slab)

  • Xóa PageCache, dentries và inodes.

DISK

  • Kiểm tra tình trạng Disk

  • Kiểm tra các phân vùng disk

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo