linux命令常用命令(linux 命令 常用)
linux什么命令查看程序運行狀態(tài)?
查看系統(tǒng)所有正在運行的進程,可以用ps aux命令(它的-a參數(shù)表示,不與終端有關的進程也顯示出來)。還有一個和ps命令相似的命令是pstree,pstree命令用于列出正在運行的進程的進程樹,所謂進程樹就是顯示有關系的進程的相關性,也就是顯示父子進程之間的關系。pstree命令的常見用法是:pstree -Aup
-A參數(shù)表示:顯示出來的進程樹連接,用ASCII字符來顯示
-u參數(shù)表示:列出進程的所屬用戶
-p參數(shù)表示:列出每個進程的PID
ps命令和pstree命令是選取一個時間點的進程狀態(tài),還有一個top命令可以持續(xù)檢測進程運行狀態(tài),它顯示的是動態(tài)的信息,有點像Windows的任務管理器(不過top命令是命令行),使用方法:
top -d 數(shù)字
-d參數(shù)后面接一個數(shù)字表示幾秒更新一次顯示,一般可以設置成2,表示2秒一更新。
linux服務器監(jiān)控的幾個方法和命令?
概述
今天主要對mpstat、iostat、sar、vmstat命令做一下總結,這幾個命令都是屬于運維人員必須掌握的,所以,能不偷懶就不偷懶了。
1、mpstat
mpstat是Multiprocessor Statistics的縮寫,是實時監(jiān)控工具,報告與cpu的一些統(tǒng)計信息這些信息都存在/proc/stat文件中,在多CPU系統(tǒng)里,其不但能查看所有的CPU的平均狀況的信息,而且能夠有查看特定的cpu信息,mpstat最大的特點是:可以查看多核心的cpu中每個計算核心的統(tǒng)計數(shù)據(jù);而且類似工具vmstat只能查看系統(tǒng)的整體cpu情況。
實例:查看多核cpu當前運行的狀況,每兩秒更新一次,一共更新5次
# mpstat 2 5
說明:
%user 在internal時間段里,用戶態(tài)的CPU時間(%),不包含nice值為負進程 (usr/total)*100
%nice 在internal時間段里,nice值為負進程的CPU時間(%) (nice/total)*100
%sys 在internal時間段里,內(nèi)核時間(%) (system/total)*100
%iowait 在internal時間段里,硬盤IO等待時間(%) (iowait/total)*100
%irq 在internal時間段里,硬中斷時間(%) (irq/total)*100
%soft 在internal時間段里,軟中斷時間(%) (softirq/total)*100
%idle 在internal時間段里,CPU除去等待磁盤IO操作外的因為任何原因而空閑的時間閑置時間(%) (idle/total)*100
2、iostat
iostat用于輸出CPU和磁盤I/O相關的統(tǒng)計信息.
語法:
iostat | ALL ] | ALL ] ] ]
實例1:
--參數(shù)-d表示顯示設備磁盤的使用狀態(tài);-k表示某些使用block為單位的列強制使用kilobytes為單位,2表示數(shù)據(jù)每隔2秒刷新一次 6表示一共刷新6次
# iostat -d -k 2 6
說明:
tps:該設備每秒的傳輸次數(shù)(Indicate the number of transfers per second that were issued to the device.)。
"一次傳輸"意思是"一次I/O請求"。多個邏輯請求可能會被合并為"一次I/O請求"。"一次傳輸"請求的大小是未知的。
kB_read/s:每秒從設備(drive expressed)讀取的數(shù)據(jù)量;
kB_wrtn/s:每秒向設備(drive expressed)寫入的數(shù)據(jù)量;
kB_read:讀取的總數(shù)據(jù)量;
kB_wrtn:寫入的總數(shù)量數(shù)據(jù)量;這些單位都為Kilobytes。
實例2:
--可以把K單位換成M
# iostat -d -m 2 6
實例3:
--使用iostat查看cpu統(tǒng)計信息使用-C參數(shù)
# iostat -c 2 6
實例4:-X參數(shù)
--iostat還有一個比較常用的-X參數(shù),該選項將用于顯示和io相關的擴展數(shù)據(jù)。
# iostat -d -x -k 1 6
3、sar
sar(System ActivityReporter系統(tǒng)活動情況報告)是目前Linux上最為全面的系統(tǒng)性能分析工具之一,可以從多方面對系統(tǒng)的活動進行報告,包括:文件的讀寫情況、系統(tǒng)調用的使用情況、磁盤I/O、CPU效率、內(nèi)存使用狀況、進程活動及IPC有關的活動等,sar命令有sysstat安裝包安裝。
語法:
sar ]
--Options are:
-A:所有報告的總和
-b:顯示I/O和傳遞速率的統(tǒng)計信息
-B:顯示換頁狀態(tài)
-d:輸出每一塊磁盤的使用信息
-e:設置顯示報告的結束時間
-f:從制定的文件讀取報告
-i:設置狀態(tài)信息刷新的間隔時間
-P:報告每個CPU的狀態(tài)
-R:顯示內(nèi)存狀態(tài)
–u:輸出cpu使用情況和統(tǒng)計信息
–v:顯示索引節(jié)點、文件和其他內(nèi)核表的狀態(tài)
-w:顯示交換分區(qū)的狀態(tài)
-x:顯示給定進程的裝
-r:報告內(nèi)存利用率的統(tǒng)計信息
實例1:
--每2秒采樣一次,連續(xù)4次,觀察cpu的使用情況,并將采樣的結果以二進制形式存入當前目錄下的文件sar中,如下:
# sar -u -o sar 2 4
實例2:
--從二進制中調取
# sar -u -f /root/sar
實例3:
--報告每個cpu的狀態(tài),1秒一次,一共4次
# sar -p 1 4
實例4:
--查看平均負載
#sar -q
實例5:
--查看內(nèi)存使用情況
#sar -r
實例6:
--查看系統(tǒng)swap分區(qū)的統(tǒng)計信息
# sar -w
實例7:
--磁盤使用統(tǒng)計信息
# sar -d
默認監(jiān)控:
sar 5 5 // CPU和IOWAIT統(tǒng)計狀態(tài)
(1) sar -b 5 5 // IO傳送速率
(2) sar -B 5 5 // 頁交換速率
(3) sar -c 5 5 // 進程創(chuàng)建的速率
(4) sar -d 5 5 // 塊設備的活躍信息
(5) sar -n DEV 5 5 // 網(wǎng)路設備的狀態(tài)信息
(6) sar -n SOCK 5 5 // SOCK的使用情況
(7) sar -n ALL 5 5 // 所有的網(wǎng)絡狀態(tài)信息
(8) sar -P ALL 5 5 // 每顆CPU的使用狀態(tài)信息和IOWAIT統(tǒng)計狀態(tài)
(9) sar -q 5 5 // 隊列的長度(等待運行的進程數(shù))和負載的狀態(tài)
(10) sar -r 5 5 // 內(nèi)存和swap空間使用情況
(11) sar -R 5 5 // 內(nèi)存的統(tǒng)計信息(內(nèi)存頁的分配和釋放、系統(tǒng)每秒作為BUFFER使用內(nèi)存頁、每秒被cache到的內(nèi)存頁)
(12) sar -u 5 5 // CPU的使用情況和IOWAIT信息(同默認監(jiān)控)
(13) sar -v 5 5 // inode, file and other kernel tablesd的狀態(tài)信息
(14) sar -w 5 5 // 每秒上下文交換的數(shù)目
(15) sar -W 5 5 // SWAP交換的統(tǒng)計信息(監(jiān)控狀態(tài)同iostat 的si so)
(16) sar -x 2906 5 5 // 顯示指定進程(2906)的統(tǒng)計信息,信息包括:進程造成的錯誤、用戶級和系統(tǒng)級用戶CPU的占用情況、運行在哪顆CPU上
(17) sar -y 5 5 // TTY設備的活動狀態(tài)
(18) 將輸出到文件(-o)和讀取記錄信息(-f)
4、vmstat
vmstat命令是最常見的Linux/Unix監(jiān)控工具,可以展現(xiàn)給定時間間隔的服務器的狀態(tài)值,包括服務器的CPU使用率,內(nèi)存使用,虛擬內(nèi)存交換情況,IO讀寫情況。這個命令是我查看Linux/Unix最喜愛的命令,一個是Linux/Unix都支持,二是相比top,我可以看到整個機器的CPU,內(nèi)存,IO的使用情況,而不是單單看到各個進程的CPU使用率和內(nèi)存使用率(使用場景不一樣)。
實例1:
--第一個參數(shù)是采樣的時間間隔數(shù),單位是秒,第二個參數(shù)是采樣的次數(shù)
--如果想在一段時間內(nèi)一直監(jiān)控可執(zhí)行# vmstat 2
# vmstat 2 6
說明:
r 表示運行隊列(就是說多少個進程真的分配到CPU),當這個值超過了CPU數(shù)目,就會出現(xiàn)CPU瓶頸了。這個也和top的負載有關系,一般負載超過了3就比較高,超過了5就高
,超過了10就不正常了,服務器的狀態(tài)很危險。top的負載類似每秒的運行隊列。如果運行隊列過大,表示你的CPU很繁忙,一般會造成CPU使用率很高。
b 表示阻塞的進程
swpd 虛擬內(nèi)存已使用的大小,如果大于0,表示你的機器物理內(nèi)存不足了,如果不是程序內(nèi)存泄露的原因,那么你該升級內(nèi)存了或者把耗內(nèi)存的任務遷移到其他機器。
free 空閑的物理內(nèi)存的大小
buff Linux/Unix系統(tǒng)是用來存儲,目錄里面有什么內(nèi)容,權限等的緩存
cache cache直接用來記憶我們打開的文件,給文件做緩沖
si 每秒從磁盤讀入虛擬內(nèi)存的大小,如果這個值大于0,表示物理內(nèi)存不夠用或者內(nèi)存泄露了,要查找耗內(nèi)存進程解決掉。
so 每秒虛擬內(nèi)存寫入磁盤的大小,如果這個值大于0,同上
bi 塊設備每秒接收的塊數(shù)量,這里的塊設備是指系統(tǒng)上所有的磁盤和其他塊設備,默認塊大小是1024byte
bo 塊設備每秒發(fā)送的塊數(shù)量,例如我們讀取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO過于頻繁,需要調整。
in 每秒CPU的中斷次數(shù),包括時間中斷
cs 每秒上下文切換次數(shù)
us 用戶CPU時間
sy 系統(tǒng)CPU時間,如果太高,表示系統(tǒng)調用時間長,例如是IO操作頻繁。
id 空閑 CPU時間
wt 等待IO CPU時間。
這種基礎命令一定要會,建議大家熟記,后面會分享更多devops和DBA方面的內(nèi)容,感興趣的朋友可以關注下~
linux查詢命令?
1. find
find是最常見和最強大的查找命令,你可以用它找到任何你想找的文件。
2. locate
locate命令其實是"find -name"的另一種寫法,但是要比后者快得多,原因在于它不搜索具體目錄,而是搜索一個數(shù)據(jù)庫。
3. whereis
whereis命令只能用于程序名的搜索,而且只搜索二進制文件(參數(shù)-b)、man說明文件(參數(shù)-m)和源代碼文件(參數(shù)-s)。
4. which
which命令的作用是,在PATH變量指定的路徑中,搜索某個系統(tǒng)命令的位置,并且返回第一個搜索結果。
5. type
type命令其實不能算查找命令,它是用來區(qū)分某個命令到底是由shell自帶的,還是由shell外部的獨立二進制文件提供的。
linux命令更新了嗎?
沒有更新,還是一些常見的命令如ls,cp,mv,mkdir等。
總結
以上是生活随笔為你收集整理的linux命令常用命令(linux 命令 常用)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何不使用Java 8默认方法
- 下一篇: 工程竣工验收备案制度需提交的材料包括哪些