欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux系統(tǒng)性能檢測命令詳解

 更新時間:2025年07月08日 17:01:15   作者:m0_59430185  
本文介紹了Linux系統(tǒng)常用的監(jiān)控命令(如top、vmstat、iostat、htop等)及其參數(shù)功能,涵蓋進程狀態(tài)、內(nèi)存使用、磁盤I/O、系統(tǒng)負載等多維度資源監(jiān)控,并提到tsar等定制化工具,用于實時收集系統(tǒng)及應用性能數(shù)據(jù)以輔助系統(tǒng)分析與優(yōu)化

top

top 命令用于查看進程動態(tài)信息

格式:

top [-] [選項] [...]
參數(shù)含義
d改變顯示的更新速度
c顯示整個命令行而不只是顯示命令名
p通過指定 PID 來監(jiān)控某個進程的狀態(tài)
S累積模式,會將己完成或消失的子行程的 CPU time 累積起來
s安全模式,將交互式指令取消, 避免潛在的危機
i不顯示任何閑置或者僵死進程
n更新的次數(shù),完成后將會退出 top

示例:

#顯示進程信息
top
#顯示所有 CPU
top + 1
#顯示完整命令
top -c
#以批處理模式顯示程序信息
top -b
#以累積模式顯示程序信息
top -S
#設置信息更新次數(shù),更新兩次后終止更新顯示
top -n 2
#設置信息更新時間,更新周期為3秒
top -d 3
#顯示指定的進程信息
top -p PID
#使用者將不能利用交談式指令來對行程下命令
top -s
#按照內(nèi)存占用從大到小排序
top -o %MEM
#按照CPU占用從大到小排序
top -o %CPU

ps

ps(process status)命令用于顯示當前進程的狀態(tài)

格式:

ps [options] [--help]
參數(shù)含義
-a顯示當前終端下的所有進程信息,包括其他用戶的進程。與“x”選項結(jié)合時將顯示系統(tǒng)中所有的進程信息
-u使用以用戶為主的格式輸出進程信息
-x顯示當前用戶在所有終端下的進程信息
-e顯示所有進程
-f使用完整的格式顯示進程信息
-l使用長格式顯示進程信息

常用組合:

ps [-aux] [-ef] [-elf]

示例:

[root@c7-1 ~]#ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.1 191004  3916 ?        Ss   10:53   0:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2  0.0  0.0      0     0 ?        S    10:53   0:00 [kthreadd]
root          4  0.0  0.0      0     0 ?        S<   10:53   0:00 [kworker/0:0H]
root          5  0.0  0.0      0     0 ?        S    10:53   0:01 [kworker/u256:0]
......
#上述輸出信息中,第一行為列表標題,其中各字段的含義描述如下
USER:啟動該進程的用戶賬號的名稱
PID:該進程在系統(tǒng)中的數(shù)字 ID 號,在當前系統(tǒng)中是唯一的
%CPU:CPU 占用的百分比
%MEM:內(nèi)存占用的百分比
VSZ:該進程使用的虛擬內(nèi)存量(KB)
RSS:該進程占用的物理內(nèi)存量(KB)
TTY:表明該進程在哪個終端上運行。不是從終端啟動的進程則顯示為?
STAT:該進程的狀態(tài)
START:啟動該進程的時間
TIME:該進程占用的 CPU 時間
COMMAND:啟動該進程的命令的名稱
#STAT 狀態(tài)類型
-D:不可被喚醒的睡眠狀態(tài),通常用于 I/O 情況
-R:該進程正在運行
-S:該進程處于睡眠狀態(tài),可被喚醒
-T:停止狀態(tài),可能是在后臺暫停或進程處于除錯狀態(tài)
-W:內(nèi)存交互狀態(tài)(從 2.6 內(nèi)核開始無效)
-X:死掉的進程(通常不會出現(xiàn))
-Z:僵尸進程。進程已經(jīng)中止,但是部分程序還在內(nèi)存當中
-<:高優(yōu)先級(以下狀態(tài)在 BSD 格式中出現(xiàn))
-N:低優(yōu)先級
-L:被鎖入內(nèi)存
-s:包含子進程
-l:多線程
-+:位于后臺
-C:進程占用 CPU 的百分比

[root@c7-1 ~]#ps -elf
F S UID         PID   PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root          1      0  0  80   0 - 47751 ep_pol 10:53 ?        00:00:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
1 S root          2      0  0  80   0 -     0 kthrea 10:53 ?        00:00:00 [kthreadd]
1 S root          4      2  0  60 -20 -     0 worker 10:53 ?        00:00:00 [kworker/0:0H]
1 S root          5      2  0  80   0 -     0 worker 10:53 ?        00:00:01 [kworker/u256:0]
1 S root          6      2  0  80   0 -     0 smpboo 10:53 ?        00:00:00 [ksoftirqd/0]
......
#各列標題含義
F:內(nèi)核分配給進程的系統(tǒng)標記
S:進程的狀態(tài)
UID:啟動這些進程的用戶
PID:進程的進程 ID
PPID:父進程的進程號(如果該進程是由另一個進程啟動的)
C:進程生命周期中的 CPU 利用率
PRI:進程的優(yōu)先級(越大的數(shù)字代表越低的優(yōu)先級)
NI:謙讓度值用來參與決定優(yōu)先級
ADDR:進程的內(nèi)存地址
SZ:假如進程被換出,所需交換空間的大致大小
WCHAN:若該進程在睡眠,則顯示睡眠中的系統(tǒng)函數(shù)名
STIME:進程啟動時的系統(tǒng)時間
TTY:進程啟動時的終端設備(pts 代表虛擬終端,一般是遠程連接的終端;tty 代表本地控制臺終端)
TIME:運行進程需要的累計CPU時間
CMD:進程的啟動命令

#指定屬性排序,CentOS6 以下版本不支持
ps axo pid,cmd,%cpu,%mem k -%cpu

#按內(nèi)存倒序排序
ps axo pid,cmd,%cpu,%mem --sort -%mem

#使用watch實用程序執(zhí)行重復的輸出以實現(xiàn)對就程進行實時的監(jiān)視,如下面的命令顯示每秒鐘的監(jiān)視
watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head'

#查看僵尸進程
ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'

#查找僵死進程,然后將父進程殺死
ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9

uptime

系統(tǒng)負載查詢

格式:

uptime [options]
參數(shù)選項
-p顯示系統(tǒng)運行了多長時間
-s顯示系統(tǒng)啟動的日期/時間

示例:

[root@tengxun-02 ~]#uptime
 00:04:06 up 222 days, 13:16,  1 user,  load average: 0.05, 0.09, 0.07

#每一欄含義
系統(tǒng)當前時間
up 表示系統(tǒng)正在運行 
222 days 在這期間系統(tǒng)沒有重啟過
當前上線人數(shù)
系統(tǒng)負載:1、5、15 分鐘的平均負載,單核一般不會超過 1,單核超過 5 時建議警報

[root@tengxun-02 ~]#uptime -p
up 31 weeks, 5 days, 13 hours, 17 minutes
[root@tengxun-02 ~]#uptime -s
2021-12-29 10:47:25

vmstat

vmstat (Virtual Memory Statistics 虛擬內(nèi)存統(tǒng)計) 命令用來顯示 Linux 系統(tǒng)虛擬內(nèi)存狀態(tài),也可以報告關于進程、內(nèi)存、I/O 等系統(tǒng)整體運行狀態(tài)。

一般 vmstat 工具的使用是通過兩個數(shù)字參數(shù)來完成的,第一個參數(shù)是采樣的時間間隔數(shù),單位是秒,第二個參數(shù)是采樣的次數(shù),例如:vmstat 2 2

安裝

yum install -y sysstat

用法

vmstat [-a] [-n] [-t] [-S unit] [delay [ count]]
vmstat [-s] [-n] [-S unit]
vmstat [-m] [-n] [delay [ count]]
vmstat [-d] [-n] [delay [ count]]
vmstat [-p disk partition] [-n] [delay [ count]]
vmstat [-f]
vmstat [-V]
參數(shù)選項
-a:顯示活躍和非活躍內(nèi)存
-f:顯示從系統(tǒng)啟動至今的 fork 數(shù)量
-m:顯示 slabinfo
-n:只在開始時顯示一次各字段名稱
-s:顯示內(nèi)存相關統(tǒng)計信息及多種系統(tǒng)活動數(shù)量
delay:刷新時間間隔。如果不指定,只顯示一條結(jié)果
count:刷新次數(shù)。如果不指定刷新次數(shù),但指定了刷新時間間隔,這時刷新次數(shù)為無窮
-d:顯示磁盤相關統(tǒng)計信息
-p:顯示指定磁盤分區(qū)統(tǒng)計信息
-S:使用指定單位顯示。參數(shù)有 k 、K 、m 、M,分別代表 1000、1024、1000000、1048576 字節(jié)(byte)。默認單位為 K(1024 bytes)
-V:顯示 vmstat 版本信息

示例

[root@tengxun-02 ~]#vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 276344 156392 2901680    0    0     1    16    0    1  0  0 99  0  0
 
[root@tengxun-02 ~]#vmstat 1 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 268416 156396 2907696    0    0     1    16    0    0  0  0 99  0  0
 0  0      0 267492 156396 2907704    0    0     0   488 4329 8864  7  5 87  2  0
 0  0      0 266428 156396 2907708    0    0     0   144 2549 4893  2  2 96  0  0

說明

類別項目含義說明
procsr等待執(zhí)行的任務數(shù)展示了正在執(zhí)行和等待cpu資源的任務個數(shù)。當這個值超過了cpu個數(shù),就會出現(xiàn)cpu瓶頸。
procsb等待IO的進程數(shù)量
memoryswpd正在使用虛擬的內(nèi)存大小,單位k
memoryfree空閑內(nèi)存大小
memorybuff已用的buff大小,對塊設備的讀寫進行緩沖
memorycache已用的cache大小,文件系統(tǒng)的cache
memoryinact非活躍內(nèi)存大小,即被標明可回收的內(nèi)存,區(qū)別于free和active具體含義見:概念補充(當使用-a選項時顯示)
memoryactive活躍的內(nèi)存大小具體含義見:概念補充(當使用-a選項時顯示)
Swapsi每秒從交換區(qū)寫入內(nèi)存的大?。▎挝唬簁b/s)
Swapso每秒從內(nèi)存寫到交換區(qū)的大小
IObi每秒讀取的塊數(shù)(讀磁盤)塊設備每秒接收的塊數(shù)量,單位是block,這里的塊設備是指系統(tǒng)上所有的磁盤和其他塊設備,現(xiàn)在的Linux版本塊的大小為1024bytes
IObo每秒寫入的塊數(shù)(寫磁盤)塊設備每秒發(fā)送的塊數(shù)量,單位是block
systemin每秒中斷數(shù),包括時鐘中斷這兩個值越大,會看到由內(nèi)核消耗的cpu時間sy會越多
systemcs每秒上下文切換數(shù)每秒上下文切換次數(shù),例如我們調(diào)用系統(tǒng)函數(shù),就要進行上下文切換,線程的切換,也要進程上下文切換,這個值要越小越好,太大了,要考慮調(diào)低線程或者進程的數(shù)目
CPUus用戶進程執(zhí)行消耗cpu時間(user time)us的值比較高時,說明用戶進程消耗的cpu時間多,但是如果長期超過50%的使用,那么我們就該考慮優(yōu)化程序算法或其他措施了
CPUsy系統(tǒng)進程消耗cpu時間(system time)sys的值過高時,說明系統(tǒng)內(nèi)核消耗的cpu資源多,這個不是良性的表現(xiàn),我們應該檢查原因。這里us + sy的參考值為80%,如果us+sy 大于 80%說明可能存在CPU不足
CPUId空閑時間(包括IO等待時間)一般來說 us+sy+id=100
CPUwa等待IO時間wa過高時,說明io等待比較嚴重,這可能是由于磁盤大量隨機訪問造成的,也有可能是磁盤的帶寬出現(xiàn)瓶頸。
CPUst來自于虛擬機偷取的CPU所占的百分比

iostat

iostat 是 I/O statistics(輸入/輸出統(tǒng)計)的縮寫,iostat 工具將對系統(tǒng)的磁盤操作活動進行監(jiān)視。

它的特點是匯報磁盤活動統(tǒng)計情況,同時也會匯報出 CPU 使用情況。

iostat 也有一個弱點,就是它不能對某個進程進行深入分析,僅對系統(tǒng)的整體情況進行分析。

[root@tengxun-02 ~]#yum install sysstat -y
......
[root@tengxun-02 ~]#iostat
Linux 3.10.0-1160.11.1.el7.x86_64 (tengxun-02) 	08/09/2022 	_x86_64_	(2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.40    0.00    0.42    0.07    0.00   99.12

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               3.50         1.78        31.81   34363446  614326717
scd0              0.00         0.00         0.00        854          0

說明

%user:CPU處在用戶模式下的時間百分比
%nice:CPU處在帶NICE值的用戶模式下的時間百分比
%system:CPU處在系統(tǒng)模式下的時間百分比
%iowait:CPU等待輸入輸出完成時間的百分比
%steal:管理程序維護另一個虛擬處理器時,虛擬CPU的無意識等待時間百分比
%idle:CPU空閑時間百分比
tps:該設備每秒的傳輸次數(shù)
kB_read/s:每秒從設備(drive expressed)讀取的數(shù)據(jù)量
kB_wrtn/s:每秒向設備(drive expressed)寫入的數(shù)據(jù)量
kB_read:讀取的總數(shù)據(jù)量
kB_wrtn:寫入的總數(shù)量數(shù)據(jù)量
#--------------------------------------------------------
如果%iowait的值過高,表示硬盤存在I/O瓶頸
如果%idle值高,表示CPU較空閑
如果%idle值高但系統(tǒng)響應慢時,可能是CPU等待分配內(nèi)存,應加大內(nèi)存容量。
如果%idle值持續(xù)低于cpu核數(shù),表明CPU處理能力相對較低,系統(tǒng)中最需要解決的資源是CPU。

示例

# 每隔 2 秒刷新顯示,且顯示 3 次
iostat 2 3

# 顯示指定磁盤信息
iostat -d /dev/sda

# 顯示 tty 和 cpu 信息
iostat -t

# 以 M 為單位顯示所有信息
iostat -m

# 查看設備使用率(%util)、響應時間(await)
# -d 顯示磁盤使用情況,-x 顯示詳細信息
iostat -d -x -k 1 1

# 查看 cpu 狀態(tài)
iostat -c 1 1

iotop

iotop 是一款開源、免費的用來監(jiān)控磁盤 I/O 使用狀況的類似 top 命令的工具,iotop 可以監(jiān)控進程的 I/O 信息。

它是 Python 語言編寫的,與 iostat 工具比較,iostat 是系統(tǒng)級別的 IO 監(jiān)控,而 iotop 是進程級別 IO 監(jiān)控。

官方網(wǎng)址:http://guichaz.free.fr/iotop/

[root@tengxun-02 ~]#yum -y install iotop
......
[root@tengxun-02 ~]#iotop --help
......
[root@tengxun-02 ~]#iotop
Total DISK READ :	0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:	0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                             
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-~em --deserialize 22
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    4 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0H]
    6 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    7 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    8 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_bh]
    9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_sched]
   10 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [lru-add-drain]
   11 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
   12 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/1]
......
......
參數(shù)長參數(shù)參數(shù)描述
–version顯示版本號
-h–help顯示幫助信息
-o–only只顯示正在產(chǎn)生I/O的進程或線程,運行過程中,可以通過按o隨時切換
-b–batch非交互模式下運行,一般用來記錄日志。
-nNUM –iter=NUM設置監(jiān)控(顯示)NUM次,主要用于非交互模式。默認無限
-dSEC –delay=SEC設置顯示的間隔秒數(shù),支持非整數(shù)
-pPID –pid=PID只顯示指定進程(PID)的信息
-uUSER –user=USER顯示指定的用戶的進程的信息
-P–processes只顯示進程,不顯示所有線程
-a–accumulated累積的I/O,顯示從iotop啟動后每個進程累積的I/O總數(shù),便于診斷問題
-k–kilobytes顯示使用KB單位
-t–time非交互模式下,加上時間戳。
-q–quiet只在第一次監(jiān)測時顯示列名. 去除頭部一些行:這個參數(shù)可以設置最多3次來移除頭部行:-q列頭部只在最初交互顯示一次;-qq列頭部不顯示;-qqq,I/O的總結(jié)不顯示

快捷鍵

r:反向排序
o:切換至選項--only
p:切換至--processes選項
a:切換至--accumulated選項
q:退出 
i:改變線程的優(yōu)先級

示例

# 只顯示正在產(chǎn)生I/O的進程
iotop -o

# 使用非交互模式將iotop命令輸出信息寫入日志
nohup iotop -b -o -n 10 -d 5 -t  > /tmp/iotop.log &

# 借助iotop命令找到消耗I/O最高的進程,然后通過進程找到其正在執(zhí)行的SQL語句
iotop -oP

# 壓力測試
dd if=/dev/zero of=/home/1.txt count=1024 bs=1G
iotop -o

slabtop

slabtop 實時顯示詳細的內(nèi)核slab緩沖區(qū)的細節(jié)信息。

[root@tengxun-02 ~]#yum install procps-ng
......
[root@tengxun-02 ~]#slabtop
 Active / Total Objects (% used)    : 1217601 / 1359715 (89.5%)
 Active / Total Slabs (% used)      : 51359 / 51359 (100.0%)
 Active / Total Caches (% used)     : 91 / 114 (79.8%)
 Active / Total Size (% used)       : 249784.67K / 292796.38K (85.3%)
 Minimum / Average / Maximum Object : 0.01K / 0.21K / 8.00K

  OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME                   
506688 469182  92%    0.19K  24128	 21     96512K dentry
432315 391055  90%    0.10K  11085	 39     44340K buffer_head
100416  99049  98%    0.06K   1569	 64	 6276K kmalloc-64
 79792  55006  68%    1.00K   4987	 16     79792K ext4_inode_cache
 43918  36938  84%    0.57K   3137	 14     25096K radix_tree_node
......

參數(shù)

--delay=n | -d n:每n秒更新一次顯示的信息,默認是每3秒
--sort=S | -s S:指定排序標準進行排序(排序標準,參照下面或者man手冊)
--once | -o:顯示一次后退出
--version | -V:顯示版本
--help:顯示幫助信息

htop

htop 是 Linux 系統(tǒng)中的一個互動的進程查看器,一個文本模式的應用程序(在控制臺或者 X 終端中),需要 ncurses。與 Linux 傳統(tǒng)的 top 相比,htop 更加人性化。它可讓用戶交互式操作,支持顏色主題,可橫向或縱向滾動瀏覽進程列表,并支持鼠標操作。

安裝

# yum 安裝
yum install htop -y

# 編譯安裝
wget https://github.com/hishamhm/htop/archive/refs/tags/2.2.0.tar.gz
tar zxvf 2.2.0.tar.gz
cd htop-2.2.0/
yum -y install ncurses-devel gcc
./autogen.sh && ./configure && make
cp htop /usr/local/bin/

使用

[root@tengxun-02 ~]#htop

dstat

參數(shù)解釋
-c,–cpu開啟cpu統(tǒng)計
-d, --disk開啟disk統(tǒng)計
-D改選跟具體的設備名(多個用逗號隔開)如:total,hda,hdb表示分別統(tǒng)計total、hda、hdb設備塊
-i, - -int開啟中斷統(tǒng)計
-l, --load開啟負載均衡統(tǒng)計,分別是1m,5m,15m
-m, --mem開啟內(nèi)存統(tǒng)計,包括used,buffers,cache,free
-n, --net開啟net統(tǒng)計,包括接受和發(fā)送
-N該選項可以跟網(wǎng)絡設備名多個用逗號隔開,如eth1,total
-g, --page開啟分頁統(tǒng)計
-p, --proc開啟進程統(tǒng)計,包括runnable, uninterruptible, new
-r, --io io開啟請求統(tǒng)計,包括read requests, write requests
-s, --swap開啟swap統(tǒng)計,包括used, free
-S該選項可以跟具體的交換區(qū),多個用逗號隔開如swap1,total
-t, --time啟用時間和日期輸出
-y, --sys開啟系統(tǒng)統(tǒng)計,包括中斷和上下文切換
–fs開啟文件系統(tǒng)統(tǒng)計,包括 (open files, inodes)
–ipc開啟ipc統(tǒng)計,包括 (message queue, semaphores, shared memory)
–output file輸出結(jié)果到cvs文件中
-a, --all是默認值相當于 -cdngy (default)
-f, --full相當于 -C, -D, -I, -N and -S

示例

[root@harbor ~]#yum -y install dstat
......
[root@harbor ~]#dstat
You did not select any stats, using -cdngy by default.
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 
  0   0  99   0   0   0|  74k  676k|   0     0 |   0     0 | 641   980 
  0   1  99   0   0   0|   0     0 |9278B   11k|   0     0 | 948  1438 
  4   4  92   0   0   0|   0   240k|7514B 8974B|   0     0 |5684  9713 
  0   0 100   0   0   0|   0     0 |2678B 2904B|   0     0 | 370   575 
  0   0 100   0   0   0|   0     0 |2678B 2904B|   0     0 | 302   472 
  0   0 100   0   0   0|   0  2912k|  56k   57k|   0     0 | 505   629 
  0   0 100   0   0   0|   0     0 |2678B 2904B|   0     0 | 293   467 
  0   0 100   0   0   0|   0     0 |2678B 2904B|   0     0 | 287   449 
  0   0 100   0   0   0|   0     0 |2664B 2964B|   0     0 | 290   459 
  0   0 100   0   0   0|   0     0 |2678B 2904B|   0     0 | 332   494 

字段

usr:用戶空間的程序所占百分比
sys:系統(tǒng)空間程序所占百分比
idel:空閑百分比
wai:等待磁盤I/O所消耗的百分比
hiq:硬中斷次數(shù)
siq:軟中斷次數(shù)
read:磁盤讀帶寬
writ:磁盤寫帶寬
recv:網(wǎng)絡收包帶寬
send:網(wǎng)絡發(fā)包帶寬

-- 內(nèi)存分頁統(tǒng)計:值較大表明系統(tǒng)正在使用大量的交換空間,通常情況下當系統(tǒng)已經(jīng)開始用交換空間的時候,就說明你的內(nèi)存已經(jīng)不夠用了,或者說內(nèi)存非常分散,理想情況下page in(換入)和page out(換出)的值是0 0。
in: page in(換入)
out:page out(換出)

-- 其他系統(tǒng)信息:這一欄中較高的統(tǒng)計值通常表示大量的進程造成擁塞,需要對CPU進行關注。服務器一般情況下都會運行運行一些程序,所以這項總是顯示一些數(shù)值。
int:中斷次數(shù)
csw:上下文切換

nmon

  • nmon 是一種在 AIX 與各種 Linux 操作系統(tǒng)上廣泛使用的監(jiān)控與分析工具
  • 它能在系統(tǒng)運行過程中實時地捕捉系統(tǒng)資源的使用情況,記錄的信息比較全面
  • 它可將服務器系統(tǒng)資源耗用情況收集起來并輸出一個特定的文件,并可利用 excel 分析工具(nmon analyser)進行數(shù)據(jù)的統(tǒng)計分析

安裝

yum -y install nmon

nmon 快捷命令

q : 停止并退出 nmon
h : 查看幫助
c : 查看 CPU 統(tǒng)計數(shù)據(jù)
m : 查看內(nèi)存統(tǒng)計數(shù)據(jù)
d : 查看硬盤統(tǒng)計數(shù)據(jù)
k : 查看內(nèi)核統(tǒng)計數(shù)據(jù)
n : 查看網(wǎng)絡統(tǒng)計數(shù)據(jù)
N : 查看 NFS 統(tǒng)計數(shù)據(jù)
j : 查看文件系統(tǒng)統(tǒng)計數(shù)據(jù)
t : 查看高耗進程
V : 查看虛擬內(nèi)存統(tǒng)計數(shù)據(jù)
v : 詳細模式

參數(shù)

參數(shù)作用
-f監(jiān)控結(jié)果以文件形式輸出,**默認:**機器名_日期_時間.nmon
-F和 -f 一樣作用,不過要指定輸出文件名
-s采樣頻率,單位秒
-c采樣次數(shù)
-mnmon 文件保存的目錄
-t顯示資源占用率高的進程

nmon;分別按 c、m、k、d 等查看統(tǒng)計數(shù)據(jù)

將統(tǒng)計文件保存到本地

#每 10s 采集一次系統(tǒng)資源數(shù)據(jù),共采集 6 次(1 min 內(nèi)收集 6 次),將最終 nmon 文件生成在當前目錄
[root@harbor ~]#nmon -f -t -s 10 -c 6 -m ./
[root@harbor ~]#ls
harbor_220821_1556.nmon

sar

獲取系統(tǒng)的 CPU、運行隊列、磁盤讀寫(I/O)、分區(qū)(交換區(qū))、內(nèi)存、CPU 中斷和網(wǎng)絡等性能數(shù)據(jù)。yum -y install sysstat

日志目錄:按日期分類

[root@harbor ~]#cd /var/log/sa/
[root@harbor /var/log/sa]#ls
sa21

格式

sar [options] [-o filename] interval [count]
###------------------------------------------------------
-o filename:其中,filename 為文件名,此選項表示將命令結(jié)果以二進制格式存放在文件中
interval:表示采樣間隔時間,該參數(shù)必須手動設置
count:表示采樣次數(shù),是可選參數(shù),其默認值為 1
options:命令行選項

命令選項

sar命令選項功能
-A顯示系統(tǒng)所有資源設備(CPU、內(nèi)存、磁盤)的運行狀況。
-u顯示系統(tǒng)所有 CPU 在采樣時間內(nèi)的負載狀態(tài)。
-P顯示當前系統(tǒng)中指定 CPU 的使用情況。
-d顯示系統(tǒng)所有硬盤設備在采樣時間內(nèi)的使用狀態(tài)。
-r顯示系統(tǒng)內(nèi)存在采樣時間內(nèi)的使用情況。
-b顯示緩沖區(qū)在采樣時間內(nèi)的使用情況。
-v顯示 inode 節(jié)點、文件和其他內(nèi)核表的統(tǒng)計信息。
-n顯示網(wǎng)絡運行狀態(tài),此選項后可跟 DEV(顯示網(wǎng)絡接口信息)、EDEV(顯示網(wǎng)絡錯誤的統(tǒng)計數(shù)據(jù))、SOCK(顯示套接字信息)和 FULL(等同于使用 DEV、EDEV和SOCK)等,有關更多的選項,可通過執(zhí)行 man sar 命令查看。
-q顯示運行列表中的進程數(shù)、進程大小、系統(tǒng)平均負載等。
-R顯示進程在采樣時的活動情況。
-y顯示終端設備在采樣時間的活動情況。
-w顯示系統(tǒng)交換活動在采樣時間內(nèi)的狀態(tài)。

每 3 秒統(tǒng)計一次,統(tǒng)計 5 次

[root@harbor ~]#sar -u 3 5
Linux 3.10.0-1062.el7.x86_64 (harbor) 	08/21/2022 	_x86_64_	(6 CPU)

04:05:54 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
04:05:57 PM     all      1.29      0.00      1.63      0.00      0.00     97.08
04:06:00 PM     all      0.11      0.00      0.28      0.00      0.00     99.61
04:06:03 PM     all      0.11      0.00      0.22      0.00      0.00     99.67
04:06:06 PM     all      0.00      0.00      0.06      0.00      0.00     99.94
04:06:09 PM     all      0.11      0.00      0.34      0.00      0.00     99.55
Average:        all      0.32      0.00      0.50      0.00      0.00     99.17

查看系統(tǒng)磁盤的讀寫性能

[root@harbor ~]#sar -d 3 2
Linux 3.10.0-1062.el7.x86_64 (harbor) 	08/21/2022 	_x86_64_	(6 CPU)

04:07:07 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
04:07:10 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

04:07:10 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
04:07:13 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:       dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

查看系統(tǒng)內(nèi)存使用

[root@harbor ~]#sar -r 5 3
Linux 3.10.0-1062.el7.x86_64 (harbor) 	08/21/2022 	_x86_64_	(6 CPU)

04:07:51 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
04:07:56 PM   5836504   2153628     26.95         8   1383324   2221084     18.23   1176408    623088         0
04:08:01 PM   5835912   2154220     26.96         8   1383328   2221084     18.23   1176600    623092         0
04:08:06 PM   5835788   2154344     26.96         8   1383328   2221084     18.23   1176592    623092         0
Average:      5836068   2154064     26.96         8   1383327   2221084     18.23   1176533    623091         0

查看網(wǎng)絡運行狀態(tài)

[root@harbor ~]#sar -n DEV 5 3
Linux 3.10.0-1062.el7.x86_64 (harbor) 	08/21/2022 	_x86_64_	(6 CPU)

04:08:35 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
04:08:40 PM vethabaebea      0.80      1.20      0.29      0.10      0.00      0.00      0.00
04:08:40 PM vethe9a8e12      4.80      3.00      0.40      0.57      0.00      0.00      0.00
04:08:40 PM veth3fdbc54     12.00     20.20      0.95     12.62      0.00      0.00      0.00
04:08:40 PM vethcab8912      0.60      0.60      0.04      0.11      0.00      0.00      0.00
04:08:40 PM veth62eb71b      1.00      1.20      0.08      0.10      0.00      0.00      0.00
04:08:40 PM veth681127a      0.00      0.00      0.00      0.00      0.00      0.00      0.00
04:08:40 PM vethbb509ef      0.20      0.40      0.02      0.03      0.00      0.00      0.00
04:08:40 PM br-7452d777f8eb      0.60      0.60      0.03      0.11      0.00      0.00      0.00
04:08:40 PM        lo      3.60      3.60      0.26      0.26      0.00      0.00      0.00
04:08:40 PM     ens33      0.80      0.00      0.05      0.00      0.00      0.00      0.00
04:08:40 PM veth16bf1aa      0.80      1.20      0.08      0.10      0.00      0.00      0.00
04:08:40 PM vethfb76974     19.80     12.20     12.68      0.98      0.00      0.00      0.00
04:08:40 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
......

總結(jié)

默認監(jiān)控: sar 1 1	  # CPU和IOWAIT統(tǒng)計狀態(tài) 
(1) sar -b 1 1		  # IO傳送速率
(2) sar -B 1 1        # 頁交換速率
(3) sar -c 1 1        # 進程創(chuàng)建的速率
(4) sar -d 1 1        # 塊設備的活躍信息
(5) sar -n DEV 1 1    # 網(wǎng)路設備的狀態(tài)信息
(6) sar -n SOCK 1 1   # SOCK的使用情況
(7) sar -n ALL 1 1    # 所有的網(wǎng)絡狀態(tài)信息
(8) sar -P ALL 1 1    # 每顆CPU的使用狀態(tài)信息和IOWAIT統(tǒng)計狀態(tài) 
(9) sar -q 1 1        # 隊列的長度(等待運行的進程數(shù))和負載的狀態(tài)
(10) sar -r 1 1       # 內(nèi)存和swap空間使用情況
(11) sar -R 1 1       # 內(nèi)存的統(tǒng)計信息(內(nèi)存頁的分配和釋放、系統(tǒng)每秒作為BUFFER使用內(nèi)存頁、每秒被cache到的內(nèi)存頁)
(12) sar -u 1 1       # CPU的使用情況和IOWAIT信息(同默認監(jiān)控)
(13) sar -v 1 1       # inode, file and other kernel tablesd的狀態(tài)信息
(14) sar -w 1 1       # 每秒上下文交換的數(shù)目
(15) sar -W 1 1       # SWAP交換的統(tǒng)計信息(監(jiān)控狀態(tài)同iostat 的si so)
(16) sar -x 2906 1 1  # 顯示指定進程(2906)的統(tǒng)計信息,信息包括:進程造成的錯誤、用戶級和系統(tǒng)級用戶CPU的占用情況、運行在哪顆CPU上
(17) sar -y 1 1       # TTY設備的活動狀態(tài)
(18) 將輸出到文件(-o)和讀取記錄信息(-f)

tsar

tsar 是淘寶自己開發(fā)的一個監(jiān)控工具,可用于收集和匯總系統(tǒng)信息,例如 CPU,負載,IO 和應用程序信息,例如 nginx,HAProxy,Squid 等。結(jié)果可以存儲在本地磁盤或發(fā)送到 Nagios。tsar 可以通過自己開發(fā)模塊輕松擴展,這使得它成為一個強大的監(jiān)控工具。

安裝

wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-check-certificate
unzip tsar.zip
cd tsar-master
make -j 4 && make install

目錄文件說明

 /etc/tsar/tsar.conf	#這是tsar的主要配置文件
 /etc/cron.d/tsar		#用于每分鐘運行tsar收集信息
 /etc/logrotate.d/tsar  #將每個月輪詢tsar的日志文件
 /usr/local/tsar/modules #是所有模塊庫(* .so)所在的目錄
 /usr/local/man/man8/    #幫助文件

參數(shù)

$tsar -h
Usage: tsar [options]
Options:
    -check         查看最后一次的采集數(shù)據(jù)
    --check/-C     查看最后一次tsar的提醒信息,如:tsar --check / tsar --check --cpu --io
    --cron/-c      使用crond模式來進行tsar監(jiān)控
    --interval/-i  指明tsar的間隔時間,默認單位分鐘,帶上--live參數(shù)則單位是秒 
    --list/-L      列出啟用的模塊
    --live/-l      查看實時數(shù)據(jù)
    --file/-f      指定輸入文件
    --ndays/-n     指定過去的數(shù)據(jù)天數(shù),默認1天
    --date/-d      指定日期,YYYYMMDD或者n代表n天前
    --detail/-D    能夠指定查看主要字段還是模塊的所有字段
    --spec/-s      指定字段,tsar –cpu -s sys,util

Modules Enabled:
    --cpu               列出cpu相關的監(jiān)控計數(shù)
    --mem               物理內(nèi)存的使用情況
    --swap              虛擬內(nèi)存的使用情況
    --tcp               TCP 協(xié)議 IPV4的使用情況
    --udp               UDP 協(xié)議 IPV4的使用情況
    --traffic           網(wǎng)絡傳出的使用情況
    --io                Linux IO的情況
    --pcsw              進程和上下文切換
    --partition         磁盤使用情況
    --tcpx              TCP 連接相關的數(shù)據(jù)參數(shù)
    --load              系統(tǒng)負載情況

監(jiān)控系統(tǒng)的cpu

 [root@RedHat_test ~]# tsar --cpu
 Time           -----------------------cpu----------------------
 Time             user     sys   wait   hirq   sirq   util   
 08/02/20-16:50   0.02    0.02    0.00    0.00    0.00    0.04   
 08/02/20-16:55   0.28    0.13    0.01    0.00    0.00    0.40   
 08/02/20-17:00   0.01    0.02    0.00    0.00    0.00    0.04   
 08/02/20-17:05   0.02    0.03    0.01    0.00    0.00    0.05   
 08/02/20-17:10   0.03    0.07    0.01    0.00    0.00    0.11   
 08/02/20-17:15   0.02    0.06    0.01    0.00    0.00    0.09   
 
 MAX              0.28    0.13    0.00    0.00    0.00    0.40   
 MEAN             0.07    0.06    0.01    0.00    0.00    0.14   
 MIN              0.02    0.02    0.00    0.00    0.00    0.04 
 ----------------------------------------------------------------------------------------
 user : 表示用戶空間cpu
 sys : 內(nèi)核空間cpu使用情況
 wait : 是IO對應的cpu使用情況
 hirq,sirq : 分別是硬件中斷,軟件中斷的使用情況
 util : 是系統(tǒng)使用cpu的總計情況

監(jiān)控虛存和load情況

 [root@RedHat_test ~]# tsar --swap --load
 Time           ---------------swap--------------------------------load-----------------
 Time           swpin swpout   total   util   load1   load5 load15   runq   plit   
 08/02/20-16:50   0.00    0.00    2.0G    0.00     0.00    0.01    0.05    0.00  128.00   
 08/02/20-16:55   0.00    0.00    2.0G    0.00     0.06    0.04    0.05    0.00  126.00   
 08/02/20-17:00   0.00    0.00    2.0G    0.00     0.01    0.03    0.05    1.00  129.00   
 08/02/20-17:05   0.00    0.00    2.0G    0.00     0.00    0.01    0.05    0.00  127.00   
 08/02/20-17:10   0.00    0.00    2.0G    0.00     0.00    0.01    0.05    5.00  130.00   
 08/02/20-17:15   0.00    0.00    2.0G    0.00     0.00    0.01    0.05    0.00  130.00   
 08/02/20-17:20   0.00    0.00    2.0G    0.00     0.00    0.01    0.05    0.00  130.00   
 
 MAX              0.00    0.00    2.0G    0.00     0.00    0.01    0.05    5.00  130.00   
 MEAN             0.00    0.00    2.0G    0.00     0.01    0.02    0.05    1.00  128.67   
 MIN              0.00    0.00    2.0G    0.00     0.00    0.01    0.05    0.00  126.00

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Apache POI簡介及應用場景

    Apache POI簡介及應用場景

    Apache POI 是一個處理Miscrosoft Office各種文件格式的開源項目,我們可以使用POI在Java程序中對Miscrosoft Office各種文件進行讀寫操作,本文給大家介紹Apache POI簡介,感興趣的朋友一起看看吧
    2023-11-11
  • Linux中如何開啟或關閉SELinux

    Linux中如何開啟或關閉SELinux

    這篇文章主要介紹了Linux中如何開啟或關閉SELinux問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 淺析Linux下利用coredump技術追查進程崩潰原因

    淺析Linux下利用coredump技術追查進程崩潰原因

    這篇文章主要介紹了Linux下利用coredump技術追查進程崩潰原因,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • Linux 內(nèi)核通用鏈表學習小結(jié)

    Linux 內(nèi)核通用鏈表學習小結(jié)

    本篇文章主要介紹了Linux 內(nèi)核通用鏈表學習小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 對Linux終端使用socks5代理的方法詳解

    對Linux終端使用socks5代理的方法詳解

    今天小編就為大家分享一篇對Linux終端使用socks5代理的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Linux下修改文件權限(所有權)

    Linux下修改文件權限(所有權)

    Linux與Unix是多用戶操作系統(tǒng),所以文件的權限與所有權的實現(xiàn)就顯得很有必要,接下來通過本文給大家分享Linux下修改文件權限,感興趣的朋友一起看看吧
    2019-11-11
  • Linux下完全刪除用戶的兩種方法

    Linux下完全刪除用戶的兩種方法

    這篇文章主要介紹了Linux下完全刪除用戶的兩種方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • linux 基礎命令大全

    linux 基礎命令大全

    學過Linux的人都會知道,Linux中的命令的確是非常多,但是玩過Linux的人也從來不會因為Linux的命令如此之多而煩惱,本文介紹了linux 基礎命令,有興趣的可以了解一下。
    2016-10-10
  • 淺談Linux環(huán)境變量文件介紹

    淺談Linux環(huán)境變量文件介紹

    這篇文章主要介紹了淺談Linux環(huán)境變量文件介紹,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • VSCode連接實驗室服務器Xshell,Xftp向服務器傳輸文件的方法(win10)

    VSCode連接實驗室服務器Xshell,Xftp向服務器傳輸文件的方法(win10)

    這篇文章主要介紹了VSCode連接實驗室服務器,Xshell,Xftp向服務器傳輸文件(win10),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08

最新評論