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