11 Lệnh hiệu suất Linux cần biết với tư cách quản trị viên hệ thống

Một vấn đề liên quan đến hiệu suất xử lý sự cố trong thế giới CNTT luôn là một thách thức và nếu bạn không biết sử dụng đúng công cụ, thì điều đó sẽ gây nản lòng.


Nếu bạn đang làm việc như một hỗ trợ trong môi trường sản xuất thì có lẽ bạn sẽ cần phải xử lý các vấn đề liên quan đến hiệu suất trong môi trường Linux.

Bạn có chức năng hỗ trợ và làm việc trên máy chủ Linux không?

Hãy để Lướt qua một số tiện ích dòng lệnh Linux được sử dụng nhiều nhất để chẩn đoán các vấn đề liên quan đến hiệu năng.

Ghi chú: Một số lệnh được liệt kê dưới đây có thể không được cài đặt theo mặc định, vì vậy bạn phải cài đặt chúng theo cách thủ công.

lsof

lsof là viết tắt của danh sách các tập tin mở của tập tin. Để giúp bạn tìm tất cả các tập tin và quy trình đã mở cùng với người đã mở chúng. Tiện ích lsof có thể thuận tiện để sử dụng trong một số trường hợp.

Để liệt kê, tất cả các tệp được mở bởi PID cụ thể

# lsofTHERp PID

Đếm số lượng tập tin & quy trình

[[email được bảo vệ] ~] # lsof -p 4271 | wc -l
34
[[email được bảo vệ] ~] #

Kiểm tra tệp nhật ký hiện đang mở

# lsofTHERp | nhật ký grep

Tìm ra số cổng được sử dụng bởi daemon

[[email được bảo vệ] ~] # lsof -i -P | grep 4271

nginx 4271 root 6u IPv4 51306 0t0 TCP *:80 (NGHE)

nginx 4271 root 7u IPv4 51307 0t0 TCP *:443 (NGHE)

[[email được bảo vệ] ~] #

pidstat

pidstat có thể được sử dụng để giám sát các tác vụ được quản lý bởi nhân Linux. Khắc phục sự cố liên quan đến I / O có thể dễ dàng với lệnh này.

Liệt kê thống kê I / O của tất cả các PID

# pidstat hèd

Để thay thế các số liệu thống kê I / O cho PID cụ thể

# pidstat Mạnhp 4271

Nếu bạn đang thực hiện khắc phục sự cố theo thời gian thực cho một số quy trình, thì bạn có thể theo dõi I / O trong một khoảng thời gian. Ví dụ dưới đây là để theo dõi cứ sau 5 giây.

[[email được bảo vệ] ~] # pidstat -p 4362 -d 5

Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 08/13/2016 _x86_64_ (2 CPU)

07:01:30 PM UID PID kB_rd / s kB_wr / s kB_ccwr / s Lệnh

07:01:35 PM 0 4362 0,00 0,00 nginx

07:01:40 PM 0 4362 0,00 0,00 nginx

07:01:45 PM 0 4362 0,00 0,00 nginx

07:01:50 PM 0 4362 0,00 0,00 nginx

hàng đầu

Có lẽ một trong những lệnh được sử dụng nhiều nhất trên Linux sẽ là hàng đầu. Lệnh trên có thể được sử dụng để hiển thị thông tin tóm tắt hệ thống và việc sử dụng hiện tại.

Chỉ cần thực hiện lệnh trên cùng có thể cho bạn thấy việc sử dụng CPU, chi tiết xử lý, một số tác vụ, sử dụng bộ nhớ, một số quy trình zombie, v.v..

hàng đầu

Để hiển thị chi tiết quá trình cho người dùng cụ thể

# tên người dùng hàng đầu

Để giết tiến trình, bạn có thể thực thi trên cùng và nhấn k. Nó sẽ nhắc bạn nhập vào PID để bị giết.

giết hàng đầu

ps

ps là viết tắt của trạng thái quá trình và sử dụng rộng rãi một lệnh để có được một ảnh chụp nhanh về quá trình đang chạy. Rất hữu ích để tìm hiểu xem một tiến trình có chạy hay không và nếu chạy thì in ra PID.

Để tìm hiểu về PID và xử lý chi tiết bằng một số từ

# psTHERef | grep từ

đầu ra ps

tcpdump

Khắc phục sự cố mạng luôn là một thách thức và một trong những lệnh cần thiết để sử dụng là tcpdump.

Bạn có thể dùng tcpdump để chụp các gói mạng trên giao diện mạng.

Để chụp các gói trên giao diện mạng cụ thể

# tcpdumpTHERi $ interface Giao diện / tmp / chụp

đầu ra tcpdump

Như bạn có thể thấy ở trên đã nắm bắt được lưu lượng truy cập trên giao diện của En en1616777736.

Để nắm bắt lưu lượng mạng giữa IP nguồn và IP đích

# tcpdump src $ IP và máy chủ dst $ IP

Nắm bắt lưu lượng mạng cho cổng đích 443

# tcpdump dst cổng 443
tcpdump: loại liên kết dữ liệu PKTAP
tcpdump: đầu ra verbose bị chặn, sử dụng -v hoặc -vv để giải mã giao thức đầy đủ
nghe trên pktap, PKTAP loại liên kết (Tapet Tap), kích thước chụp 262144 byte
12: 02: 30.833845 IP 192.168.1.2.49950 > ec2-107-22-185-206.compute-1.amazonaws.com.https: Cờ [.], ack 421458229, thắng 4096, dài 0
12: 02: 32.076893 IP 192.168.1.2.49953 > 104.25.133.107.https: Cờ [S], seq 21510813, thắng 65535, tùy chọn [mss 1460, nop, wscale 5, nop, nop, TS val 353259990 ecr 0, sackOK, eol], độ dài 0
12: 02: 32.090389 IP 192.168.1.2.49953 > 104.25.133.107.https: Cờ [.], Ack 790725431, thắng 8192, dài 0
12: 02: 32.090630 IP 192.168.1.2.49953 > 104.25.133.107.https: Cờ [P.], seq 0: 517, ack 1, thắng 8192, dài 517
12: 02: 32.109903 IP 192.168.1.2.49953 > 104.25.133.107.https: Cờ [.], Ack 147, thắng 8187, dài 0

Đọc tập tin đã chụp

Tên tệp # tcpdumpTHERr

Ví dụ: để đọc tập tin đã chụp ở trên

# tcpdumpTHERr / tmp / test

i điều hòa

iuler là viết tắt của thống kê đầu vào-đầu ra và thường được sử dụng để chẩn đoán vấn đề hiệu suất với các thiết bị lưu trữ. Bạn có thể theo dõi CPU, thiết bị & Báo cáo sử dụng hệ thống tập tin mạng với iostat.

Hiển thị số liệu thống kê I / O của đĩa

[[email được bảo vệ] ~] # iter -d
Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 08/13/2016 _x86_64_ (2 CPU)
Thiết bị: tps kB_read / s kB_wrtn / s kB_read kB_wrtn
sda 1.82 55.81 12.63 687405 155546
[[email được bảo vệ] ~] #

Hiển thị số liệu thống kê CPU

[[email được bảo vệ] ~] # iuler -c
Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 08/13/2016 _x86_64_ (2 CPU)
avg-cpu:% người dùng% đẹp% hệ thống% iowait% ăn cắp% nhàn rỗi
0,59 0,02 0,33 0,54 0,00 98,52
[[email được bảo vệ] ~] #

ldd

ldd là viết tắt của danh sách phụ thuộc động để hiển thị các thư viện dùng chung mà thư viện cần. Lệnh ldd có thể thuận tiện để chẩn đoán sự cố khởi động ứng dụng.

Nếu một số chương trình không bắt đầu do không phụ thuộc thì bạn có thể tìm hiểu các thư viện chia sẻ mà nó đang tìm kiếm.

[[email được bảo vệ] sbin] # ldd httpd
linux-vdso.so.1 => (0x00007ffe7ebb2000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fa4d451e000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fa4d42f9000)
libaprutil-1.so.0 => /lib64/libaprutil-1.so.0 (0x00007fa4d40cf000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fa4d3e98000)
libapiat.so.1 => /lib64/libExat.so.1 (0x00007fa4d3c6e000)
libdb-5.3.so => /lib64/libdb-5.3.so (0x00007fa4d38af000)
libapr-1.so.0 => /lib64/libapr-1.so.0 (0x00007fa4d3680000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa4d3464000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fa4d325f000)
libc.so.6 => /lib64/libc.so.6 (0x00007fa4d2e9e000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007fa4d2c79000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa4d4a10000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fa4d2a73000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007fa4d2870000)
[[email được bảo vệ] sbin] #

netstat

netstat (Thống kê mạng) là một lệnh phổ biến để in các kết nối mạng, thống kê giao diện và khắc phục sự cố khác nhau liên quan đến mạng.

Để hiển thị số liệu thống kê của tất cả các giao thức

# netstat thẳng

Bạn có thể sử dụng grep để tìm hiểu nếu có bất kỳ lỗi nào

[[email được bảo vệ] sbin] # netstat -s | lỗi grep
Lỗi nhận 0 gói
0 nhận lỗi bộ đệm
0 gửi lỗi bộ đệm
[[email được bảo vệ] sbin] #

Để hiển thị bảng định tuyến kernel

[[email được bảo vệ] sbin] # netstat -r
Bảng định tuyến IP kernel
Cổng đích Genmask Flag MSS Window irtt Iface
cổng mặc định 0.0.0.0 UG 0 0 0 eno16777736
172.16.179.0 0.0.0.0 255.255.255.0 U 0 0 0 eno16777736
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[[email được bảo vệ] sbin] #

miễn phí

Nếu máy chủ Linux của bạn sắp hết bộ nhớ hoặc chỉ muốn tìm hiểu xem có bao nhiêu bộ nhớ còn trống, thì lệnh miễn phí sẽ giúp bạn.

[[email được bảo vệ] sbin] # miễn phí -g
tổng số bộ đệm / bộ nhớ cache được sử dụng miễn phí có sẵn
Mem: 5 0 3 0 1 4
Hoán đổi: 5 0 5
[[email được bảo vệ] sbin] #

-g có nghĩa là hiển thị các chi tiết tính bằng GB. Vì vậy, như bạn có thể thấy tổng bộ nhớ khả dụng là 5 GB và 3 GB là miễn phí.

sar

sar (Báo cáo hoạt động hệ thống) sẽ hữu ích để thu thập một số báo cáo bao gồm tải CPU, bộ nhớ và thiết bị.

Chỉ cần thực thi lệnh sar sẽ cho bạn thấy việc sử dụng hệ thống trong cả ngày.

đầu ra

Theo mặc định, nó lưu trữ báo cáo sử dụng trong 10 phút. Nếu bạn cần một cái gì đó ngắn hơn trong thời gian thực, bạn có thể sử dụng như dưới đây.

Hiển thị báo cáo CPU 3 lần mỗi 3 giây

[[email được bảo vệ] sbin] # sar 3 2
Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 08/13/2016 _x86_64_ (2 CPU)
11:14:02 PM CPU% người dùng% đẹp% hệ thống% iowait% ăn cắp% nhàn rỗi
11:14:05 PM tất cả 1,83 0,00 0,50 0,17 0,00 97,51
11:14:08 PM tất cả 1,50 0,00 0,17 0,00 98,33
Trung bình: tất cả 1,67 0,00 0,33 0,08 0,00 97,92
[[email được bảo vệ] sbin] #

Hiển thị báo cáo sử dụng bộ nhớ

# saretr

Hiển thị báo cáo mạng

# sar Hoànn TẤT CẢ

tôi

ipcs (Hệ thống truyền thông InterProcess) cung cấp một báo cáo về semaphore, bộ nhớ dùng chung & Hàng đợi tin nhắn.

Để liệt kê hàng đợi tin nhắn

# ipcs

Để liệt kê các semaphores

# ipcs

Để liệt kê bộ nhớ chia sẻ

# ipcs

Để hiển thị trạng thái sử dụng hiện tại của IPC

[[email được bảo vệ] sbin] # ipcs -u

—— Trạng thái tin nhắn ——–
hàng đợi được phân bổ = 0
tiêu đề đã sử dụng = 0
không gian sử dụng = 0 byte

—— Trạng thái bộ nhớ dùng chung ——–
phân khúc 5
trang được phân bổ 2784
trang cư trú 359
trang đổi chỗ 0
Hiệu suất hoán đổi: 0 lần thử 0 thành công

—— Tình trạng semaphore ——–
sử dụng mảng = 0
semaphores được phân bổ = 0
[[email được bảo vệ] sbin] #

Tôi hy vọng các lệnh trên giúp ích trong tình huống khác nhau trong công việc quản trị hệ thống của bạn.

Đây chỉ là để cung cấp cho bạn một ý tưởng về các lệnh và nếu quan tâm bạn có thể kiểm tra điều này Khóa học giám sát và xử lý sự cố Linux.

THẺ

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map