linux用什么命令查看負載?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
創(chuàng)新互聯(lián)公司是一家專業(yè)提供萬載企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都做網(wǎng)站、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為萬載眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。
1、top命令查看linux負載:
第一行解釋:
top - 11:03:08 up 1 days, 04:01, 3 user, load average: 0.05, 0.05, 0.01
11:03:08:系統(tǒng)當前時間
up 1 days, 04:01:系統(tǒng)開機到現(xiàn)在經(jīng)過了1天
3 users:當前3用戶在線
load average:0.05, 0.05, 0.01:系統(tǒng)1分鐘、5分鐘、15分鐘的CPU負載信息.
備注:load average后面三個數(shù)值的含義是最近1分鐘、最近5分鐘、最近15分鐘系統(tǒng)的負載值。這個值的意義是,單位時間段內(nèi)CPU活動進程數(shù)。如果你的機器為單核,那么只要這幾個值均<1,代表系統(tǒng)就沒有負載壓力,如果你的機器為N核,那么必須是這幾個值均<N才可認為系統(tǒng)沒有負載壓力。
第二行解釋:
Tasks: 176 total, 1 running, 175 sleeping, 0 stopped, 0 zombie
176 total:當前有176個任務(wù)
1 running:1個任務(wù)正在運行
175 sleeping:175個進程處于睡眠狀態(tài)
0 stopped:停止的進程數(shù)
0 zombie:僵死的進程數(shù)
第三行解釋:
%Cpu(s): 0.1 us, 0.2 sy, 0.2 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
0.1%us:用戶態(tài)進程占用CPU時間百分比
0.2%sy:內(nèi)核占用CPU時間百分比
0.2%ni:renice值為負的任務(wù)的用戶態(tài)進程的CPU時間百分比。nice是優(yōu)先級的意思
99.4%id:空閑CPU時間百分比
0.0%wa:等待I/O的CPU時間百分比
0.0%hi:CPU硬中斷時間百分比
0.0%si:CPU軟中斷時間百分比
第四行解釋:
KiB Mem : 3882172 total, 1079980 free, 1684652 used, 1117540 buff/cache
3882172 k total:物理內(nèi)存總數(shù)
1684652k used: 使用的物理內(nèi)存
1079980k free:空閑的物理內(nèi)存
1117540k cached:用作緩存的內(nèi)存
第五行解釋:
KiB Swap: 0 total, 0 free, 0 used. 1871412 avail Mem
0k total:交換空間的總量
0k used: 使用的交換空間
0k free:空閑的交換空間
1871412k cached:緩存的交換空間
最后一行:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID:進程ID
USER:進程的所有者
PR:進程的優(yōu)先級
NI:nice值
VIRT:占用的虛擬內(nèi)存
RES:占用的物理內(nèi)存
SHR:使用的共享內(nèi)存
S:進行狀態(tài) S:休眠 R運行 Z僵尸進程 N nice值為負
%CPU:占用的CPU
%MEM:占用內(nèi)存
TIME+: 占用CPU的時間的累加值
COMMAND:啟動命令
2、uptime查看linux負載:
3、w查看linux負載:
第一行參考top命令的解釋
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
解釋如下:
USER —登錄的用戶名
TTY —登錄后系統(tǒng)分配的終端號
FROM—遠程主機名,即從哪兒登錄來的
LOGIN@—何時登錄
IDLE—空閑了多長時間,表示用戶閑置的時間。這是一個計時器,一旦用戶執(zhí)行任何操作,該計時器便會被重置
JCPU—和該終端(tty)連接的所有進程占用的時間,這個時間里并不包括過去的后臺作業(yè)時間,但卻包括當前正在運行的后臺作業(yè)所占用的時間
PCPU—指當前進程(即在WHAT項中顯示的進程)所占用的時間
WHAT—當前正在運行進程的命令行
4、vmstat查看linux負載
r
表示運行隊列(就是說多少個進程真的分配到CPU),當這個值超過了CPU數(shù)目,就會出現(xiàn)CPU瓶頸。這個也和top的負載有關(guān)系,一般負載超過了3就比較高,超過了5就高,超過了10就不正常了,服務(wù)器的狀態(tài)很危險。top的負載類似每秒的運行隊列。如果運行隊列過大,表示你的CPU很繁忙,一般會造成CPU使用率很高。
b
表示阻塞的進程,這個不多說,進程阻塞,大家懂的。
swpd 虛擬內(nèi)存已使用的大小,如果大于0,表示你的機器物理內(nèi)存不足了,如果不是程序內(nèi)存泄露的原因,那么你該升級內(nèi)存了或者把耗內(nèi)存的任務(wù)遷移到其他機器。
free
空閑的物理內(nèi)存的大小,我的機器內(nèi)存總共8G,剩余3415M。
buff Linux/Unix
系統(tǒng)是用來存儲,目錄里面有什么內(nèi)容,權(quán)限等的緩存,我本機大概占用300多M
cache cache
直接用來記憶我們打開的文件,給文件做緩沖,(這里是Linux/Unix的聰明之處,把空閑的物理內(nèi)存的一部分拿來做文件和目錄的緩存,是為了提高 程序執(zhí)行的性能,當程序使用內(nèi)存時,buffer/cached會很快地被使用。)
si
每秒從磁盤讀入虛擬內(nèi)存的大小,如果這個值大于0,表示物理內(nèi)存不夠用或者內(nèi)存泄露了,要查找耗內(nèi)存進程解決掉。我的機器內(nèi)存充裕,一切正常。
so
每秒虛擬內(nèi)存寫入磁盤的大小,如果這個值大于0,同上。
bi
塊設(shè)備每秒接收的塊數(shù)量,這里的塊設(shè)備是指系統(tǒng)上所有的磁盤和其他塊設(shè)備,默認塊大小是1024byte。
bo
塊設(shè)備每秒發(fā)送的塊數(shù)量,例如我們讀取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO過于頻繁,需要調(diào)整。
in
每秒CPU的中斷次數(shù),包括時間中斷
cs
每秒上下文切換次數(shù),例如我們調(diào)用系統(tǒng)函數(shù),就要進行上下文切換,線程的切換,也要進程上下文切換,這個值要越小越好,太大了,要考慮調(diào)低線程或者進程的數(shù)目,例如在apache和nginx這種web服務(wù)器中,我們一般做性能測試時會進行幾千并發(fā)甚至幾萬并發(fā)的測試,選擇web服務(wù)器的進程可以由進程或者線程的峰值一直下調(diào),壓測,直到cs到一個比較小的值,這個進程和線程數(shù)就是比較合適的值了。系統(tǒng)調(diào)用也是,每次調(diào)用系統(tǒng)函數(shù),我們的代碼就會進入內(nèi)核空間,導(dǎo)致上下文切換,這個是很耗資源,也要盡量避免頻繁調(diào)用系統(tǒng)函數(shù)。上下文切換次數(shù)過多表示你的CPU大部分浪費在上下文切換,導(dǎo)致CPU干正經(jīng)事的時間少了,CPU沒有充分利用,是不可取的。
us
用戶CPU時間,我曾經(jīng)在一個做加密解密很頻繁的服務(wù)器上,可以看到us接近100,r運行隊列達到80(機器在做壓力測試,性能表現(xiàn)不佳)。
sy
系統(tǒng)CPU時間,如果太高,表示系統(tǒng)調(diào)用時間長,例如是IO操作頻繁。
id
空閑 CPU時間,一般來說,id + us + sy = 100,一般認為id是空閑CPU使用率,us是用戶CPU使用率,sy是系統(tǒng)CPU使用率。
wt
等待IO CPU時間。
5、其他一些操作
cat /proc/cpuinfo
:即可查看CPU信息,幾個processor即為幾個CPU;
sar
:可以監(jiān)控系統(tǒng)所有資源狀態(tài),sar -n DEV查網(wǎng)卡流量歷史、sar -q 查看歷史負載,最有用的就是查網(wǎng)卡流量,流量過大: rxpck/s大于4000,或者rxKB/s大于5000,則很有可能被攻擊了,需要抓包分析;
free
:查看當前系統(tǒng)的總內(nèi)存大小以及使用內(nèi)存的情況;
ps
:查看進程,ps aux 或者 ps -elf,常和管道符一起使用,查看某個進程或者它的數(shù)量;
netstat
:查看端口,netstat -lnp用于打印當前系統(tǒng)啟動了哪些端口,netstat -an用于打印網(wǎng)絡(luò)連接狀況;
tcpdump
:抓包工具分析數(shù)據(jù)包,知道有哪些IP在攻擊;可以將內(nèi)容寫入指定文件1.cap中,顯示包的內(nèi)容,不加-w屏幕上顯示數(shù)據(jù)流向;
wireshark
:抓包工具,可以臨時用該命令查看當前服務(wù)器上的web請求
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。