
作者:老油條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指令:動态檢視程序相關資訊
#詳解相關指令意思
#第一行:任務隊列資訊,和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指令的執行結果一樣#内容詳解
Mem:1865308 total #實體記憶體總大小
125604 free #空閑的記憶體
520128 used #使用的實體記憶體總大小
1219576 buff/cache #用作核心緩存的記憶體量
swap:209714 total #交換分區總量
0 used #使用的交換分區大小
2097149 free #空閑的
#程序狀态#内容詳解
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檢視系統程序狀态
#内容詳解
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負載情況
#文法和相關參數
#使用
#輸出指令解釋
Device:裝置名
tps:該裝置每秒的傳輸次數
KB_read/s:每秒從裝置讀取的資料量
KB_wrtn/s:每秒向裝置寫入的資料量
KB_read:讀取的總資料量
KB_wrtn:寫入的總資料量
#使用-d參數:顯示磁盤的使用狀态
#-x參數:顯示和io相關的擴充資料
6.mpstat:檢視處理器(CPU)相關的統計
#mpstat----report processors related statistics(處理器相關的報告統計)
#mpstat,全稱為Multiprocessor Statistics。是實時系統監控工具
#檢視幫助:man mpstat
#指令執行格式
#使用
#輸出指令解釋
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
#使用
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的使用情況
#使用-h檢視磁盤的使用情況
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可以擷取更多的幫助資訊
#使用
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可以擷取更多的幫助資訊
#使用
#使用-s參數列出目前socket詳細資訊
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