天天看點

cat指令詳解_需要!Linux常用監視和故障排查指令詳解

cat指令詳解_需要!Linux常用監視和故障排查指令詳解

作者:老油條IT記

公衆号:老油條IT記

#指令預覽

1.top

2.ps

3.nice

4.kill

5.iostat

6.mpstat

7.vmstat

8.df

9.du

10.netstat

11.ss

#首先我們先來了解一下什麼是程序

#程序:是Linux用來表示正在運作的程式的一種抽象概念,Linux系統上所有運作的東西都可以稱為程序

1.top指令:動态檢視程序相關資訊

cat指令詳解_需要!Linux常用監視和故障排查指令詳解
#提示:前五行是系統整體的統計資訊

#詳解相關指令意思

#第一行:任務隊列資訊,和uptime指令的執行結果相同

[[email protected] ~]# uptime

10:29:45 up 9:11, 2 users, load average: 0.00, 0.01, 0.05

#内容詳解

10:29:45 #顯示的是目前時間

up 9:11 #系統運作時間,格式為時:分

2 users #目前登入使用者數

load average:0.00,0.01,0.5 #系統負載,三個數值分别為1分鐘、5分鐘、15分鐘前到現在的平均值

#第二行:程序資訊
Tasks: 121 total, 2 running, 119 sleeping, 0 stopped, 0 zombie

#内容詳解

Tasks:

121 total #程序總數

2 running #正在運作的程序數

119 sleeping #睡眠的程序數

0 stopped #停止的程序數

0 zombie #僵屍程序數

#第三行:cpu資訊
%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.2 si, 0.0 st

#内容詳解

0.0 us #系統使用者程序使用CPU百分比

0.2 sy #核心空間占用CPU百分比

0.0 ni #使用者程序空間内改變優先級的程序占用cpu百分比

99.7 id #空前的CPU百分比

0.0% wa # IO等待占用CPU的百分比

0.0% hi #硬中斷(Hardware IRQ)占用CPU的百分比

0.2% si # 軟中斷(Software Interrupts)占用CPU的百分比

#第四五行:記憶體資訊,和free -m指令的執行結果一樣
cat指令詳解_需要!Linux常用監視和故障排查指令詳解

#内容詳解

Mem:1865308 total #實體記憶體總大小

125604 free #空閑的記憶體

520128 used #使用的實體記憶體總大小

1219576 buff/cache #用作核心緩存的記憶體量

swap:209714 total #交換分區總量

0 used #使用的交換分區大小

2097149 free #空閑的

#程序狀态
cat指令詳解_需要!Linux常用監視和故障排查指令詳解

#内容詳解

PID #程序ID

USER #程序所有者的使用者名

PR #程序的排程的優先級

NI #NICE值,負值表示高優先級,正值表示低優先級

VIRT #程序使用的虛拟記憶體

RES #程序使用的虛拟記憶體總量,機關KB

SHR #程序使用的共享記憶體,機關為kb

S #程序狀态,有五種狀态,D:不可中斷的睡眠狀态,R:運作,S:睡眠,T:停止,Z:僵屍程序

%CPU #上次更新到現在的cpu時間占用百分比

%MEM #使用的實體記憶體百分比

TIME+ #使用的CPU時間總計,機關1/100秒

COMMAND #指令行/指令名

#top常用的快捷鍵 預設3s重新整理一次

空格:立即重新整理

q:退出

M:按記憶體大小排序

P:按CPU大小排序

N:按PID來排序

<>:翻頁

2.ps檢視系統程序狀态

cat指令詳解_需要!Linux常用監視和故障排查指令詳解

#内容詳解

USER:程序擁有者

PID :程序的ID号

%CPU :CPU占用百分比

%MEM :占用記憶體的百分比

VSZ: 占用虛拟記憶體的大小,機關KB

RSS: 占用實體記憶體的大小,機關KB

TTY: 目前程序執行的終端号

STAT: 程序的狀态

START:程序開始時間

TIME :程序實際使用CPU時間

COMMAND:實際指令

#擴充:檢視程序的其他常用指令

pstree #是以程序樹的形式顯示

pgrep #是以程序名字或屬性來顯示查找程序的PID

3.nice程序控制

Linux系統中每一個程序都有一個優先級PR(priotity),PR值越小,優先級越高,就會被優先執行,NICE值可以自己設定,NI的正負影響到PR值,可以通過設定NI來題升或降低程序的優先級

#例子:以nice值為-20運作top指令

[[email protected] ~]# nice -n -20 top

#修改程序的優先級

#例如:将PID為33192的程序的NICE值修改為10

[[email protected] ~]# renice 10 33192

4.kill終止程序

kill指令是發送一個信号給程序,預設是發送15(TERM)終止

#文法格式:kill PID

#例子:将PID為32813的程序終止

#可以先使用ps aux檢視程序

[[email protected] ~]# kill 32813

#加-9:強制中斷

[[email protected] ~]# kill -9 32813

#使用pkill結束http所有程序

#可以使用pidof檢視http相關的程序PID号

[[email protected] ~]# pidof httpd

34505 34504 34503 34502 34501 34500

#結束httpd的所有程序

[[email protected] ~]# pkill -9 httpd

#收集系統運作狀态資訊

#先來安裝一個後面指令需要使用的包

[[email protected] ~]# yum install sysstat -y

5.iostat:檢視裝置或分區的io相關統計

#主要使用者監控系統裝置的io負載情況

#文法和相關參數

cat指令詳解_需要!Linux常用監視和故障排查指令詳解

#使用

cat指令詳解_需要!Linux常用監視和故障排查指令詳解

#輸出指令解釋

Device:裝置名

tps:該裝置每秒的傳輸次數

KB_read/s:每秒從裝置讀取的資料量

KB_wrtn/s:每秒向裝置寫入的資料量

KB_read:讀取的總資料量

KB_wrtn:寫入的總資料量

#使用-d參數:顯示磁盤的使用狀态

cat指令詳解_需要!Linux常用監視和故障排查指令詳解

#-x參數:顯示和io相關的擴充資料

6.mpstat:檢視處理器(CPU)相關的統計

#mpstat----report processors related statistics(處理器相關的報告統計)

#mpstat,全稱為Multiprocessor Statistics。是實時系統監控工具

#檢視幫助:man mpstat

#指令執行格式

cat指令詳解_需要!Linux常用監視和故障排查指令詳解

#使用

cat指令詳解_需要!Linux常用監視和故障排查指令詳解

#輸出指令解釋

CPU: 處理器編号,all表示統計資訊計算為所有處理器之間的平均值

%usr: 使用者下,CPU使用率百分比。

%nice: 具有nice優先級的使用者下,CPU使用率百分比。

%sys: 系統級(核心)執行時發生的CPU使用率百分比

%Iowait: 顯示系統具有未完成磁盤I/O請求時,CPU或CPU空閑的時間百分比。

%irq: 系統服務于硬中斷的時間開銷的百分比

%soft: 系統服務于軟中斷開銷的時間開銷百分比

%steal: 虛拟機管理程式服務另一個虛拟處理器時虛拟CPU或CPU無意中等待的時間百分比。

%guest: CPU運作虛拟處理器所花費的時間百分比。

%idle: CPU空閑的百分比

7.vmstat:檢視虛拟記憶體相關的統計

#vmstat --- report virtual memory statistics(報告虛拟記憶體的統計資訊)

#文法:vmstat [options] [delay [count]]

#檢視幫助:man vmstat

#使用

cat指令詳解_需要!Linux常用監視和故障排查指令詳解
#輸出指令解釋

r:等待執行的任務數

b:表示阻塞的程序

swap:虛拟記憶體已使用的大小

free:空閑的實體記憶體的大小

buff:已用的緩沖大小

cache:已用的緩存大小

si:每秒從磁盤讀入虛拟記憶體的大小

so:每秒虛拟記憶體寫入磁盤的大小

bi:塊裝置每秒接收的塊數量

bo:塊裝置每秒發送的塊數量

in:每秒CPU的中斷次數

cs:每秒上下文切換次數

us:使用者CPU時間

sy:系統CPU時間

id:空閑CPU時間

wa:等待io時間

8.df指令:檢視磁盤使用情況

#常用的參數

-a 全部檔案系統清單

-h 友善閱讀方式顯示

-i 顯示inode資訊

#使用-i參數檢視inode的使用情況

cat指令詳解_需要!Linux常用監視和故障排查指令詳解

#使用-h檢視磁盤的使用情況

cat指令詳解_需要!Linux常用監視和故障排查指令詳解

9.du指令:顯示檔案或目錄的大小

文法格式:

du [OPTION]... [FILE]...

du [OPTION]... --files0-from=F

#常用參數

-s或--summarize 僅顯示總計。

-h或--human-readable 以K,M,G為機關,提高資訊的可讀性。

#使用

#檢視/test目錄的總大小,和/test目錄下各個檔案的大小

[[email protected] ~]# du -sh /test/

8.0K /test/

[[email protected] ~]# du -sh /test/*

4.0K /test/1.txt

4.0K /test/2.txt

10.netstat:提供有關路由和網絡連接配接的資訊

#首先需要安裝net-tools包才有netstat指令

[[email protected] ~]# yum install net-tools -y

#常用的參數

-a (all) 顯示所有選項,預設不顯示LISTEN相關。

-t (tcp) 顯示tcp連接配接。

-u (udp) 顯示udp連接配接。

-n 拒絕顯示别名,能顯示數字的全部轉化成數字。

-l 列出有在 Listen (監聽) 的服務狀态。

-p 顯示建立相關連結的程式名

-r 顯示路由資訊,路由表

#使用man netstat可以擷取更多的幫助資訊

#使用

cat指令詳解_需要!Linux常用監視和故障排查指令詳解

11.ss

#概述:ss是Socket Statistics的縮寫,用來擷取socket統計資訊,它可以顯示和netstat類似的内容。

#優點:ss的優勢在于它能夠顯示更多更詳細的有關TCP和連接配接狀态的資訊,比netstat更快速更高效,當伺服器的socket連接配接數量變得非常大時,優勢就顯而易見了。

#常用的參數

格式: ss [options] [ FILTER ]

-a (all)顯示所有

-l 顯示本地打開的所有端口

-p 顯示每個程序具體打開的socket

-t 顯示tcp socket

-u 顯示udp socket

-n 不解析服務名

-s 列出目前socket詳細資訊

#使用man ss可以擷取更多的幫助資訊

#使用

cat指令詳解_需要!Linux常用監視和故障排查指令詳解

#使用-s參數列出目前socket詳細資訊

cat指令詳解_需要!Linux常用監視和故障排查指令詳解

12.其他相關檢視資訊

#檢視CPU資訊

lscpu 或cat /proc/cpuinfo

#檢視記憶體資訊

[[email protected] ~]# cat /proc/meminfo

#檢視虛拟記憶體的使用觸發值

[[email protected] ~]# cat /proc/sys/vm/swappiness

30

#檢視系統上使用的子產品

[[email protected] ~]# cat /proc/modules

#檢視系統分區資訊

[[email protected] ~]# cat /proc/partitions

major minor #blocks name

8 0 20971520 sda

8 1 1048576 sda1

8 2 19921920 sda2

11 0 9177088 sr0

253 0 17821696 dm-0

253 1 2097152 dm-1

繼續閱讀