Linux系統(tǒng)環(huán)境監(jiān)測
Linux系統(tǒng)環(huán)境主要監(jiān)測CPU、內(nèi)存、磁盤I/O和網(wǎng)絡(luò)流量。
1. CPU
(1) 查看CPU的負(fù)載情況:uptime
可以通過uptime查看系統(tǒng)整體的負(fù)載情況。
如果服務(wù)器的CPU為1核心,則1分鐘的系統(tǒng)平均負(fù)載 >=3 說明負(fù)載過高,如果服務(wù)器的CPU為4核心,則load average中的數(shù)字 >=12 負(fù)載過高。
root@ubuntu1804:~#uptime 0953 up 7:17, 2users, load average: 0.10, 0.03, 0.01 0953 # 當(dāng)前時間 up 7:17 # 主機(jī)已運(yùn)行時間 2users # 當(dāng)前登錄用戶數(shù) load average: 0.10, 0.03, 0.01 # 系統(tǒng)負(fù)載,即任務(wù)隊列的平均長度。 三個數(shù)值分別為 1分鐘、5分鐘、15分鐘前到現(xiàn)在的平均值
(2)linux中查看cpu的邏輯數(shù)量:
ehigh@ubuntu:~$ grep -c'processor'/proc/cpuinfo 8
CPU:central processing unit,中央處理器。
image
插槽:表示電腦上插了幾個物理cpu 內(nèi)核:表示這個物理cpu有幾個核心,一個核心就是一個cpu 邏輯處理器:邏輯上的處理器數(shù)量,通過超線程技術(shù)將一個處理器模擬出兩個處理器出來。 超線程技術(shù):在一顆CPU同時執(zhí)行多個程序而共同分享一顆CPU內(nèi)的資源,理論上要像兩顆CPU一樣在同一時間執(zhí)行兩個線程
cpu發(fā)展歷程:
剛開始一個物理cpu只有一個核心,通過提高核心的工作頻率來提高性能,但是會產(chǎn)生過多的熱量。 后面因特爾發(fā)明了超線程技術(shù),在一顆CPU同時執(zhí)行多個程序而共同分享一顆CPU內(nèi)的資源,理論上要像兩顆CPU一樣在同一時間執(zhí)行兩個線程 后面采用多核架構(gòu),在一個物理cpu里面放多個核心,好似一輛汽車放多個發(fā)動機(jī)。
例如:服務(wù)器上面插了一個物理cpu是4核8線程。表示的是這個cpu又4個核心,支持超線程技術(shù),邏輯cpu就是8個。
并發(fā)
(3)查看系統(tǒng)中使用CPU最多的進(jìn)程:top
使用top命令,按下大寫的P,可以按cpu使用率排序
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 720 root 20 0 473464 22060 19128 S 1.7 0.2 119:55.14 sunloginclient 3590 emqx 20 0 3483576 20149274484 S 1.3 2.0 64:39.37 beam.smp 984 root 20 0 2754328 50696 5192 S 1.0 0.5 77:32.96 taosd
進(jìn)程的cpu占用能否超過100%?
如果你的4核心的cpu,你可以運(yùn)行400%
判斷CPU當(dāng)前忙不忙?
要結(jié)合cpu使用率和隊列一起看,如果一分鐘內(nèi)cpu的隊列數(shù)超過3并且cpu的使用率也很高,說明當(dāng)前cpu很忙。
(4)查看cpu的使用率:
使用top命令,然后按數(shù)字1就可以顯示每個cpu的詳細(xì)信息
top - 1044 up 5 days, 1:15, 1 user, load average: 0.10, 0.14, 0.10 Tasks: 398 total, 1 running, 397 sleeping, 0 stopped, 0 zombie %Cpu0 : 0.0 us, 3.4 sy, 0.0 ni, 96.6id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu1 : 0.0 us, 0.0 sy, 0.0 ni,100.0id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu2 : 0.0 us, 0.0 sy, 0.0 ni,100.0id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu4 : 0.0 us, 0.0 sy, 0.0 ni,100.0id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu5 : 0.0 us, 0.0 sy, 0.0 ni,100.0id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu6 : 0.0 us, 0.0 sy, 0.0 ni,100.0id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu7 : 0.0 us, 0.0 sy, 0.0 ni,100.0id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 9952.6 total, 5473.8 free, 2145.3 used, 2333.5 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 7477.7 avail Mem #96.6id-- 表示cpu的空閑率是96.6%
2. 內(nèi)存
(1)查看內(nèi)存的大小和使用量:
root@ubuntu:~# free -h total used free shared buff/cache available Mem: 9.7Gi 2.1Gi 5.4Gi 49Mi 2.3Gi 7.3Gi Swap: 0B 0B 0B #選項: # -h 表示系統(tǒng)會根據(jù)值的大小來選擇合適的單位,默認(rèn)是byte # aotal 總計物理(swap)內(nèi)存的大小 # used 已使用物理內(nèi)存(swap)的大小 # free 可用的物理內(nèi)存(swap)大小 # shared 多個進(jìn)程共享的內(nèi)存總額 # buff/cache 磁盤的緩存大小 # available 可以被新應(yīng)用程序使用的內(nèi)存大小 # Mem:物理內(nèi)存的大小 # Swap:交換分區(qū)的大小,交換分區(qū)就是使用磁盤的一部分空間來模擬內(nèi)存,當(dāng)物理內(nèi)存占用滿的時候就將一部分不常用的數(shù)據(jù)移動到交換分區(qū)中。交換分區(qū)是臨時充當(dāng)內(nèi)存的作用,性能很低。
(2)查看系統(tǒng)使用內(nèi)存最多的進(jìn)程:
使用top命令然后按大寫M就可以按照內(nèi)存的使用率來進(jìn)行排序,按e可以按M,G,T 這些單位來顯示
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1377 mysql 20 0 4.8g 0.8g 0.0g S 0.7 7.8 67:01.24 mysqld 977 root 20 0 7.7g 0.3g 0.0g S 0.0 3.4 32:34.83 java 3590 emqx 20 0 3.3g 0.2g 0.1g S 0.7 2.0 64:48.04 beam.smp 446 root 19 -1 0.3g 0.2g 0.2g S 0.0 2.0 1:59.99 systemd-journ
3. 磁盤IO
(1)查看對磁盤讀寫最多的進(jìn)程
oot@ubuntu1804:~# iostat -dkp Linux 4.15.0-156-generic (ubuntu1804) 12/03/2022 _x86_64_ (4 CPU) Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn loop0 0.00 0.00 0.00 8 0 sda 0.64 16.17 58.90 487458 1775844 sda1 0.01 0.20 0.00 5893 96 sda2 0.00 0.00 0.00 4 0 sda5 0.00 0.11 0.00 3312 0 sda6 0.63 15.79 58.90 476129 1775748 scd0 0.00 0.07 0.00 2056 0 # kB_read/s 每秒從磁盤讀入的數(shù)據(jù)量,單位為K. # kB_wrtn/s 每秒向磁盤寫入的數(shù)據(jù)量,單位為K. # kB_read 讀入的數(shù)據(jù)總量,單位為K. # kB_wrtn 寫入的數(shù)據(jù)總量,單位為K. # -d 僅顯示磁盤統(tǒng)計信息 # -k 以K為單位顯示每秒的磁盤請求數(shù),默認(rèn)單位塊. # -p device | ALL 用于顯示塊設(shè)備及系統(tǒng)分區(qū)的統(tǒng)計信息.
服務(wù)器很卡,查看CPU使用率不高,內(nèi)存也夠用,但就是卡,尤其是打開新程序或文件時,更卡。此時是哪出問題了?
一般是磁盤IO到達(dá)了瓶頸,還企業(yè)級ssd可以提高性能瓶頸。
(2)查看哪個進(jìn)程使用磁盤讀寫最多
root@ubuntu1804:~# iotop -o Total DISK READ : 5.79 M/s | Total DISK WRITE : 2.28 M/s Actual DISK READ: 5.79 M/s | Actual DISK WRITE: 4.64 M/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 17238 be/4 tom 5.79 M/s 0.00 B/s 0.00 % 64.19 % find / 17092 be/4 root 0.00 B/s 0.00 B/s 0.00 % 12.71 % [kworker/u256:0] 476 be/3 root 0.00 B/s 2.28 M/s 0.00 % 5.45 % [jbd2/sda6-8] # Total DISK READ:總的磁盤讀取速度。 Total DISK WRITE:總的磁盤寫入速度。 # Actual DISK READ:實際磁盤讀的速度 Actual DISK WRITE:實際磁盤寫的速度 # TID:進(jìn)程pid值。 # PRIO:優(yōu)先級。 # USER:用戶。 # DISKREAD:磁盤讀取速度。 # DISK WRITE:磁盤寫入速度。 # SWAPIN:從swap分區(qū)讀取數(shù)據(jù)占用的百分比。 # IO:I/O占用的百分比。 # COMMAND:消耗I/O的進(jìn)程名。 #命令選項: # -o, -only 只顯示在讀寫硬盤的程序 # -d SEC, -delay=SEC 設(shè)定顯示時間間隔。 刷新時間 # 退出,按q或ctrl+C
4. 網(wǎng)絡(luò)
(1)使用nload監(jiān)控總體帶寬使用情況
tom@ubuntu1804:~$ nload -u h # -u:指定數(shù)據(jù)的單位 h表示寫哦那個會根據(jù)數(shù)值的大小自動選擇單位 例如M G等 Device eth0 [10.0.0.18] (1/2): == Incoming:#進(jìn)來的網(wǎng)絡(luò)流量 Curr: 558.33 kBit/s #當(dāng)前流量 Avg: 297.12 kBit/s #平均流量 Min: 1.39 kBit/s #最小流量 Max: 894.77 kBit/s #最大流量 Ttl: 58.23 MByte #流量總和 Outgoing:#出去的網(wǎng)絡(luò)流浪 Curr: 16.16 kBit/s Avg: 15.37 kBit/s Min: 4.52 kBit/s Max: 32.62 kBit/s Ttl: 766.79 kByte
(2)使用nethogs找出使用帶寬最多的進(jìn)程
tom@ubuntu1804:~$sudonethogs NetHogs version 0.8.5-2 PID USER PROGRAM DEV SENT RECEIVED 1733 root wget eth0 13.352 4317.425 KB/sec 1605 tom sshd: tom@pts/0 eth0 1.025 0.07013.276 KB/sec 1732 root wget tom@pts/0 eth0 0.000 0.000 KB/sec ? root unknown TCP 0.000 0.000 KB/sec TOTAL 0.000 0.000 KB/sec 14.378 4317.701 # PID:行程 ID。 # USER:行程的擁有者。 # PROGRAM:程序路徑。 # DEV:網(wǎng)絡(luò)接口。 # SENT:目前傳送數(shù)據(jù)的速度。 # RECEIVED:目前接收數(shù)據(jù)的速度 #TOTAL 總計、總和 #快捷鍵: # m:切換帶寬單位,可用單位有 KB/s、KB、B、MB。 # r:以數(shù)據(jù)接收速度排序。 # s:以數(shù)據(jù)傳送速度排序。 # q:離開 NetHogs。
鏈接:https://www.cnblogs.com/heyongshen/p/16947514.html
-
Linux
+關(guān)注
關(guān)注
87文章
11496瀏覽量
213224 -
服務(wù)器
+關(guān)注
關(guān)注
13文章
9749瀏覽量
87547 -
環(huán)境監(jiān)測
+關(guān)注
關(guān)注
3文章
373瀏覽量
19079
原文標(biāo)題:【Linux運(yùn)維必備】系統(tǒng)環(huán)境監(jiān)測終極指南:從CPU到磁盤,一文掌握所有監(jiān)控技巧?
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于Labview的蔬菜大棚環(huán)境監(jiān)測系統(tǒng)的研究
基于Matlab串行通信的環(huán)境監(jiān)測系統(tǒng)設(shè)計
基于 ARM 的環(huán)境監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)
【Intel Edison申請】兒童環(huán)境監(jiān)測
無線環(huán)境監(jiān)測系統(tǒng)怎么實現(xiàn)?
14個環(huán)境監(jiān)測系統(tǒng)設(shè)計案例
智能環(huán)境監(jiān)測系統(tǒng)設(shè)計
基于單片機(jī)的稻田環(huán)境監(jiān)測系統(tǒng)具有哪些功能
關(guān)于環(huán)境監(jiān)測設(shè)備中AD7091R的時序問題
基于ARM的環(huán)境監(jiān)測系統(tǒng)設(shè)計_余筱
城市網(wǎng)格化大氣環(huán)境監(jiān)測系統(tǒng)介紹
環(huán)境監(jiān)測系統(tǒng)大樓的詳細(xì)參數(shù)介紹

評論