Xem thong tin server linux

Đột nhiên một ngày dịch vụ của bạn ngừng hoạt động, hãy SSH vào server, nếu không thể SSH được, kiểm tra xem server có hết RAM không giống như bài hướng dẫn tại đây 

Nếu hết RAM và server đang treo, bạn cần phải khởi động lại server.

Trường hợp bạn vẫn có thể truy cập vào được server, bạn nên kiểm tra tổng quát một lượt các tài nguyên hiện tại:
+ kiểm tra tình trạng sử dụng RAM
+ kiểm tra tình trạng sử dụng CPU
+ kiểm tra xem ổ cứng có bị đầy?
+ kiểm tra xem server hiện có đang full băng thông?

1. Kiểm tra tình trạng sử dụng RAM

KHi truy cập vào website của bạn báo lỗi “Error establishing a database connection” và trên giao diện log của server tại trang quản trị sẽ có những log dạng như:
“Out of memory: Kill process…."
tức là server của bạn sử dụng đã hết RAM.
Nếu vẫn truy cập được vào server, bạn có thể dễ dàng kiểm tra lượng RAM free bằng câu lệnh free
Tuy nhiên, bạn nên xác định trước là có thể sẽ không truy cập được vào server hoặc truy cập được nhưng mọi thao tác bên trong đều rất chậm, bạn cần kiên nhẫn.

# sudo free -m

                    total       used    free     shared buffers  cached
Mem:                 7975       7814     161          0     199    5523


-/+ buffers/cache:              2091    5883

Swap:                9534        459    9075

Nếu lượng free sau khi bỏ buffers/cache càng nhỏ tức là server của bạn càng thiếu RAM, bạn cần tăng RAM lên để đảm bảo server có thể hoạt động ổn định.

Ngoài ra, để kiểm tra chi tiết tiến trình nào đang chiếm dụng RAM, bạn có thể sử dụng công cụ giám sát trạng thái của server – htop
Chúng ta sẽ cùng nói về công cụ này ở mục 2. Kiểm tra tình trạng sử dụng CPU

2. Kiểm tra tình trạng sử dụng CPU

Nếu bạn SSH vào server và thao tác các lệnh chậm, một khả năng nữa xảy ra là server đang sử dụng hết CPU, hay thường gọi là full CPU
Để kiểm tra, chúng ta sử dụng công cụ giám sát hệ thống htop
Cài đặt:
# sudo apt-get install htop                          // Ubuntu
# sudo yum install htop                              // CentOS
Khởi động htop:
# htop

Ngay khi chạy lệnh, bạn sẽ nhìn thấy tình trạng CPU và RAM đang được sử dụng.
Mặc định các tiến trình đã được sắp xếp theo mức độ chiếm dụng CPU, để sắp xếp các tiến trình đang chiếm dụng RAM, các bạn có thể sử dụng phím Shift + M hoặc ấn F6 để tùy chọn sắp xếp.
Xem thêm hướng dẫn sử dụng htop

3. Kiểm tra mức độ sử dụng ổ cứng

Khi ổ cứng bị đầy [tức mức độ sử dụng 100%], lúc này ổ cứng sẽ không thể ghi thêm được dữ liệu.
Nếu bạn đang sử dụng server chạy website, khi truy cập vào website có thể sẽ báo lỗi “Error establishing a database connection” Lúc này, trên giao diện log của server tại trang quản trị sẽ có những log dạng như:
“OSError: [Errno 28] No space left on device:…."

Bạn cần phải truy cập trực tiếp vào bên trong server, kiểm tra chính xác lại tình trạng ổ cứng bằng câu lệnh:

# sudo df -h

Filesystem       Size    Used   Avail Use%    Mounted on
udev             990M     12K    990M    1%   /dev
tmpfs            201M    412K    200M    1%   /run
/dev/vda1         24G     16G    7.2G   69%   /
none             4.0K       0    4.0K    0%   /sys/fs/cgroup
none             5.0M       0    5.0M    0%   /run/lock
none            1001M     72K   1001M    1%   /run/shm
none             100M       0    100M    0%   /run/user

Câu lệnh này sẽ hiển thị tình trạng sử dụng của các phân vùng, ở đây chúng ta sẽ lưu ý thư mục root [/], khi use 100% tức là ổ cứng của bạn đã đầy, cần xóa bớt dữ liệu, thông thường nên kiểm tra các log hệ thống trong /var/log hoặc log trong control panel.

  • Techblog
  • Dịch vụ Cloud Computing

Hướng dẫn kiểm tra Thông tin, Cấu hình, Perfomance của Server

giangpth

1277

23-05-2018

Khi bạn làm việc với server cụ thể là cài cắm các gói, phần mềm hay deploy dự án bạn sẽ cần phải nắm được thông tin về server, version những thứ mình sử dụng hay những yếu tố ảnh hưởng gây hại đến project của mình, nếu có đội hỗ trợ thì tốt nhưng hơn hết bạn cũng nên biết để tự mình giải quyết trước và họ sẽ support mình những khi cần thiết. Mời bạn độc tham khảo bài viết này của BizFly Cloud ngay nhé! 

Hướng dẫn cách kiểm tra thông tin, cấu hình, perfomance Server

1. Thông tin Hệ Điều Hành

Chi tiết nhất về cả Kernel version hay HĐH đang sử dụng bạn có thể sử dụng lệnh: 

Linux hungnup 4.10.0-42-generic #46-Ubuntu SMP Mon Dec 4 14:38:01 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
0

Linux version 4.10.0-42-generic [buildd@lgw01-amd64-012] [gcc version 6.3.0 20170406 [Ubuntu 6.3.0-12ubuntu2] ] #46-Ubuntu SMP Mon Dec 4 14:38:01 UTC 2017 

Linux hungnup 4.10.0-42-generic #46-Ubuntu SMP Mon Dec 4 14:38:01 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
1

Linux hungnup 4.10.0-42-generic #46-Ubuntu SMP Mon Dec 4 14:38:01 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Kết quả cho thấy server đang sử dụng HĐH Ubuntu trên Kernel Linux version 4.10.0-42-generic [buildd@kissel] [gcc version 4.8.2 [Ubuntu 4.8.2-19ubuntu1] ].

Một kết quả khác:

Linux hungnup 4.10.0-42-generic #46-Ubuntu SMP Mon Dec 4 14:38:01 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
0

Linux version 3.10.0-327.36.3.el7.x86_64 [builder@kbuilder.dev.centos.org] [gcc version 4.8.5 20150623 [Red Hat 4.8.5-4] [GCC] ] #1 SMP Mon Oct 24 16:09:20 UTC 2016 

Linux hungnup 4.10.0-42-generic #46-Ubuntu SMP Mon Dec 4 14:38:01 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
1

Linux CENTOS-WEB-1 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 

Muốn kiểm tra chi tiết thông tin về HĐH bạn có thể sử dụng lệnh:

Linux hungnup 4.10.0-42-generic #46-Ubuntu SMP Mon Dec 4 14:38:01 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
4

No LSB modules are available. Distributor ID:	Ubuntu Description:	Ubuntu 17.04 Release:	17.04 Codename:	zesty 

Linux hungnup 4.10.0-42-generic #46-Ubuntu SMP Mon Dec 4 14:38:01 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
5

Description:	Ubuntu 17.04 

Lưu ý: Để sử dụng lệnh “lsb_release” bạn có thể cần phải cài đặt:

- Ubuntu: 

Linux hungnup 4.10.0-42-generic #46-Ubuntu SMP Mon Dec 4 14:38:01 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
6
Linux hungnup 4.10.0-42-generic #46-Ubuntu SMP Mon Dec 4 14:38:01 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

- CentOs:

Linux hungnup 4.10.0-42-generic #46-Ubuntu SMP Mon Dec 4 14:38:01 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
8

Chi tiết nhất bạn có thể sử dụng lệnh:

Linux hungnup 4.10.0-42-generic #46-Ubuntu SMP Mon Dec 4 14:38:01 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
9

2. Kiểm tra thông tin server

[1] Thông tin CPU

Thông thường các bạn hay sử dụng lệnh: lscpu nó dễ nhớ và cung cấp cơ bản các thông tin của CPU, kết quả như sau: 

Linux version 3.10.0-327.36.3.el7.x86_64 [builder@kbuilder.dev.centos.org] [gcc version 4.8.5 20150623 [Red Hat 4.8.5-4] [GCC] ] #1 SMP Mon Oct 24 16:09:20 UTC 2016 
0

Architecture:          x86_64 CPU op-mode[s]:        32-bit, 64-bit Byte Order:            Little Endian CPU[s]:                4 On-line CPU[s] list:   0-3 Thread[s] per core:    1 Core[s] per socket:    4 Socket[s]:             1 NUMA node[s]:          1 Vendor ID:             GenuineIntel CPU family:            6 Model:                 94 Model name:            Intel[R] Core[TM] i5-6300HQ CPU @ 2.30GHz Stepping:              3 CPU MHz:               845.935 CPU max MHz:           3200,0000 CPU min MHz:           800,0000 BogoMIPS:              4608.00 Virtualization:        VT-x L1d cache:             32K L1i cache:             32K L2 cache:              256K L3 cache:              6144K NUMA node0 CPU[s]:     0-3 

Nếu muốn chi tiết hơn về từng core một bạn có thể sử dụng các lệnh khác:

Linux version 3.10.0-327.36.3.el7.x86_64 [builder@kbuilder.dev.centos.org] [gcc version 4.8.5 20150623 [Red Hat 4.8.5-4] [GCC] ] #1 SMP Mon Oct 24 16:09:20 UTC 2016 
1 //or
Linux version 3.10.0-327.36.3.el7.x86_64 [builder@kbuilder.dev.centos.org] [gcc version 4.8.5 20150623 [Red Hat 4.8.5-4] [GCC] ] #1 SMP Mon Oct 24 16:09:20 UTC 2016 
2

[2] Kiểm tra thông tin memory

- Thông thường, đơn giản, dễ nhớ, cung cấp đủ các thông tin mà bạn quan tâm về các thông số memory hiện tại của server đó là lệnh: 

free -m [số liệu hiện thị tính theo đơn vị Mbs] 

Kết quả:

Linux version 3.10.0-327.36.3.el7.x86_64 [builder@kbuilder.dev.centos.org] [gcc version 4.8.5 20150623 [Red Hat 4.8.5-4] [GCC] ] #1 SMP Mon Oct 24 16:09:20 UTC 2016 
3

total        used        free      shared  buff/cache   available Mem:         7855        1146        5926         383         783        6081 Swap:        8067         489        7578 

- Ngoài ra các bạn có thể sử dụng lệnh:

Linux version 3.10.0-327.36.3.el7.x86_64 [builder@kbuilder.dev.centos.org] [gcc version 4.8.5 20150623 [Red Hat 4.8.5-4] [GCC] ] #1 SMP Mon Oct 24 16:09:20 UTC 2016 
4 - Số liệu hiện thị tính theo đơn vị Kbs.
Linux version 3.10.0-327.36.3.el7.x86_64 [builder@kbuilder.dev.centos.org] [gcc version 4.8.5 20150623 [Red Hat 4.8.5-4] [GCC] ] #1 SMP Mon Oct 24 16:09:20 UTC 2016 
5 - Số liệu hiện thị tính theo đơn vị Gbs.

- Chi tiết, rõ ràng nhất về các thông số của Memory bạn có thể sử dụng lệnh bên dưới:

Linux version 3.10.0-327.36.3.el7.x86_64 [builder@kbuilder.dev.centos.org] [gcc version 4.8.5 20150623 [Red Hat 4.8.5-4] [GCC] ] #1 SMP Mon Oct 24 16:09:20 UTC 2016 
6

[3] Các thông tin về Hard Disks

Hiển thị thông tin các disk được cài đặt và dung lượng tương ứng:

Linux version 3.10.0-327.36.3.el7.x86_64 [builder@kbuilder.dev.centos.org] [gcc version 4.8.5 20150623 [Red Hat 4.8.5-4] [GCC] ] #1 SMP Mon Oct 24 16:09:20 UTC 2016 
7

Disk /dev/sdb: 128.8 GB, 128849018880 bytes, 251658240 sectors Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors 

Kiểm tra thông tin đọc ghi của ổ cứng [Cái này có thể bị ảnh hưởng bởi tốc độ mạng, ví dụ như server bạn đặt ở Mỹ trong khi AAG liên tục bị đứt và lỗi được cho rằng là tại cá mập cắn dây cáp]. Lúc này hãy cố gắng đợi một chút nhé.

Linux version 3.10.0-327.36.3.el7.x86_64 [builder@kbuilder.dev.centos.org] [gcc version 4.8.5 20150623 [Red Hat 4.8.5-4] [GCC] ] #1 SMP Mon Oct 24 16:09:20 UTC 2016 
8

16384 0 records in 16384 0 records out 1073741824 bytes [1,1 GB] copied, 10,0146 s, 107 MB/

Các server hiện nay với ổ cứng có tốc độ đọc ghi tốt con số 107 Mb/s sẽ thường > 100 Mb/s là ổn [Tham khảo trên mạng là vậy chứ thực chất mình không rõ lắm].

Liệt kê tất cả các PCI Devices:
Linux version 3.10.0-327.36.3.el7.x86_64 [builder@kbuilder.dev.centos.org] [gcc version 4.8.5 20150623 [Red Hat 4.8.5-4] [GCC] ] #1 SMP Mon Oct 24 16:09:20 UTC 2016 
9Ngoài ra bạn có thể sử dụng các lệnh # top, # htop, # atop để kiểm tra thông tin memory, cpu sử dụng.

Linux CENTOS-WEB-1 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 
0
Linux CENTOS-WEB-1 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 
1
Linux CENTOS-WEB-1 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 

3. Kiểm tra Performance Server

Mỗi khi server có vấn đề gì đó như chạy chậm, bị chết, bạn cần phải xem xem CPU hay memory có bị chiếm dụng bởi một process nào đó hay hệ thống chúng ta ngốn CPU, memory một cách quá thể để chúng ta tối ưu lại code, sử dụng lệnh top cho kết quả như sau:

[1] Lệnh "top" 

Hiển thị danh sách các tiến trình của hệ điều hành và thông tin chi tiết của chúng. Muốn thoát khỏi dùng phím

Linux CENTOS-WEB-1 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 
3
Linux CENTOS-WEB-1 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 

Nếu server của bạn có nhiều hơn 1 core, bạn nhấn phím số 1 để hiện thị chi tiết thông số của từng core: 

Mội vài thông số của CPU [Dòng 3 %Cpu[s]

%us [user cpu time]: phần trăm do tiến trình của người dùng [non root] sử dụng 

%sy [system cpu time]: phần trăm do tiến trình của hệ thống [root] sử dụng 

%ni [user nice cpu time]: phần trăm do các tiến trình có mức độ ưu tiên thấp sử dụng 

%id [idle cpu time]: phần trăm CPU đang rảnh 

%wa [io wait cpu time]: phần trăm CPU để đợi trong khi các tiến trình I/O đang xử lý 

%hi [hardware irq]: phần trăm để xử lý gián đoạn phần cứng 

%si [software irq]: phần trăm để xử lý gián đoạn phần mềm 

%st [steal time]: phần trăm do máy ảo sử dụng

Ngoài ra còn các hot key khác như:

t: Ẩn/Hiện các thông tin tóm tắt [Dòng Tasks, CPU] 

m: Ẩn/Hiện thông tin về memory 

f: Hiện thị, giải thích ý nghĩa, thay đổi thứ tự hiển thị các cột của phần thông tin các process [Title của cột có nền trắng] 

r: Renice command. 

k: Kill command.

[2] Lệnh "htop" 

Dựa trên nền tảng nguồn mở tự do và miễn phí dành cho Linux. Rất dễ sử dụng. Bạn có thể chọn các process để kill hoặc renicing mà không sử dụng PID của nó. Nó có thể được coi là Trình quản lý tiến trình bằng giao diện đơn giản bạn có thể sử dụng các phím mũi tên lên xuống để chọn các process tương ứng và thực thi 1 hành động nào đó. Mặc định htop không được cài đặt trên ubuntu hoặc centOS.

Để có thể sử dụng được lệnh htop bạn có thể install bằng command:

Ubuntu:

Linux CENTOS-WEB-1 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 
5

Centos:

Linux CENTOS-WEB-1 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 
6

Sử dụng:

Linux CENTOS-WEB-1 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 
7

[3] Lệnh "atop" 

Tương tự như htop, atop cũng được coi là Trình quản lý tiến trình bằng giao diện. Có vẻ atop mạnh mẽ hơp top, htop khá nhiều.

Như bạn thấy Atop hiển thị cả các tài nguyên phần cứng quan trọng nhất. Bạn có thể nhanh chóng xem CPU, bộ nhớ, đĩa và hiệu suất mạng. Nó cho thấy các quy trình nào chịu trách nhiệm về tải được chỉ định liên quan đến CPU và tải bộ nhớ trên một cấp độ quá trình.

Chủ Đề