• 千鋒教育-做有情懷、有良心、有品質的職業教育機構

    手機站
    千鋒教育

    千鋒學習站 | 隨時隨地免費學

    千鋒教育

    掃一掃進入千鋒手機站

    領取全套視頻
    千鋒教育

    關注千鋒學習站小程序
    隨時隨地免費學習課程

    【熱點話題】 零基礎學IT IT學習教程 IT學習筆記 IT技術干貨 IT培訓機構 IT應聘面試 IT職場就業 Java培訓機構哪些好
    當前位置:首頁  >  關于學院  >  技術干貨  > Linux系統常用監控命令,齊全

    Linux系統常用監控命令,齊全

    來源:千鋒教育
    發布人:wjy
    時間: 2022-10-14 10:04:33 1665713073

      1.CPU

    Linux系統常用監控命令1

      2.內存

    Linux系統常用監控命令2

      操作系統 IPC 共享內存/隊列:

    Linux系統常用監控命令3

      平時我們經常需要監控內存的使用狀態,常用的命令有free、vmstat、top、dstat -m等。

      2.1 free

    Linux系統常用監控命令4

      各行數據含義

      第一行Mem:

      total:內存總數7.7G,物理內存大小,就是機器實際的內存

      used:已使用內存6.2G,這個值包括了cached和應用程序實際使用的內存

      free:空閑的內存1.5G,未被使用的內存大小

      shared:共享內存的大小,17M

      buffers:被緩沖區占用的內存大小,33M

      cached:被緩存占用的內存大小,184M

      其中有:

    Linux系統常用監控命令5

      Copy

      第二行-/+ buffers/cache,代表應用程序實際使用的內存:

      前一個值表示used - buffers/cached,表示應用程序實際使用的內存

      后一個值表示free + buffers/cached,表示理論上都可以被使用的內存

      可以看到,這兩個值加起來也是total

      第三行swap,代表交換分區的使用情況:總量、使用的和未使用的

      緩存 cache

      cache代表緩存,當系統讀取文件時,會先把數據從硬盤讀到內存里,因為硬盤比內存慢很多,所以這個過程會很耗時。

      為了提高效率,Linux 會把讀進來的文件在內存中緩存下來(局部性原理),即使程序結束,cache 也不會被自動釋放。因此,當有程序進行大量的讀文件操作時,就會發現內存使用率升高了。

      當其他程序需要使用內存時,Linux 會根據自己的緩存策略(例如 LRU)將這些沒人使用的 cache 釋放掉,給其他程序使用,當然也可以手動釋放緩存:

    Linux系統常用監控命令6

      緩沖區 buffer

      考慮內存寫文件到硬盤的場景,因為硬盤太慢了,如果內存要等待數據寫完了之后才繼續后面的操作,效率會非常低,也會影響程序的運行速度,所以就有了緩沖區buffer。

      當內存需要寫數據到硬盤中時會先放到 buffer 里面,內存很快把數據寫到 buffer 中,可以繼續其他工作,而硬盤可以在后臺慢慢讀出 buffer 中的數據并保存起來,這樣就提高了讀寫的效率。

      例如把電腦中的文件拷貝到 U 盤時,如果文件特別大,有時會出現這樣的情況:明明看到文件已經拷貝完,但系統還是會提示 U 盤正在使用中。這就是 buffer 的原因:拷貝程序雖然已經把數據放到 buffer 中,但是還沒有全部寫入到 U 盤中

      同樣的,可以使用sync命令來手動flush buffer中的內容:

    Linux系統常用監控命令7

      交換分區 swap

      交換分區swap是實現虛擬內存的重要概念。swap就是把硬盤上的一部分空間當作內存來使用,正在運行的程序會使用物理內存,把未使用的內存放到硬盤,叫做swap out。而把硬盤交換分區中的內存重新放到物理內存中,叫做swap in。

      交換分區可以在邏輯上擴大內存空間,但是也會拖慢系統速度,因為硬盤的讀寫速度很慢。Linux 系統會將不經常使用的內存放到交換分區中。

      cache 和 buffer 的區別

      cache:作為page cache的內存,是文件系統的緩存,在文件層面上的數據會緩存到page cache中

      buffer:作為buffer cache的內存,是磁盤塊的緩存,直接對磁盤進行操作的數據會緩存到 buffer cache 中

      簡單來說:page cache用來緩存文件數據,buffer cache用來緩存磁盤數據。在有文件系統的情況下,對文件操作,那么數據會緩存到page cache中。如果直接采用dd等工具對磁盤進行讀寫,那么數據會緩存到buffer cache中。

      2.2 vmstat

      vmstat (Virtual Memory Statics,虛擬內存統計) 是對系統的整體情況進行統計,包括內核進程、虛擬內存、磁盤、中斷和 CPU 活動的統計信息:

    Linux系統常用監控命令8

      procs

      r列:表示運行和等待 CPU 時間片的進程數,這個值如果長期大于 CPU 個數,就說明 CPU 資源不足,可以考慮增加 CPU

      b列:表示在等待資源的進程數,例如正在等待 I/O 或者內存交換

      memory

      swpn列:表示切換到交換分區的內存大小,如果swpd的值不為 0 或者比較大,且si、so的值長期為 0,那么這種情況暫時不會影響系統性能

      free列:當前空閑的物理內存大小

      buff列:表示buffers cache的內存大小,一般對塊設備的讀寫才需要緩沖

      cache列:表示page cache的內存大小,一般作為文件系統的緩存,頻繁訪問的文件都會被 cached。如果 cache 值比較大,就說明 cached 文件數量較多。如果此時 I/O 中的bi比較小,就說明文件系統效率比較好

      swap

      si列:表示swap in,即內存由交換分區放入物理內存中

      so列:表示swap out,即將未使用的內存放到硬盤的交換分區中

      io

      bi列:表示從塊設備讀取的數據總量,即讀磁盤,單位KB/s

      bo列:表示寫入塊設備的數據總量,即寫磁盤,單位KB/s

      這里設置的bi+bo參考值為1000,如果超過1000,且wa值比較大,則表示系統磁盤 I/O 性能瓶頸

      system

      in列:表示在某一時間間隔中觀察到的每秒設備中斷數

      cs列:表示每秒產生的上下文切換次數

      上面這兩個值越大,內核消耗的 CPU 時間就越多

      cpu

      us列:表示用戶進程消耗 CPU 的時間百分比。us值比較高時,說明用戶進程消耗的 CPU 時間多,如果長期大于 50%,可以考慮優化程序

      sy列:表示內核進程消耗 CPU 的時間百分比。sy值比較高時,說明內核消耗的 CPU 時間多,如果us+sy超過 80%,就說明 CPU 資源存在不足

      id列:表示 CPU 處在空閑狀態的時間百分比

      wa列:表示 I/O Wait 所占 CPU 的時間百分比。wa值越高,說明 I/O Wait 越嚴重。如果wa值超過 20%,說明 I/O Wait 嚴重

      st列:表示 CPU Steal Time,針對虛擬機

      3.網絡

      3.1 接口

    Linux系統常用監控命令9

      3.2 端口

    Linux系統常用監控命令10

      3.3 tcpdump

    Linux系統常用監控命令11

      3.4 nethogs

    Linux系統常用監控命令12

      監控各進程的網絡流量

      4.I/O 性能

    Linux系統常用監控命令13

      5.進程

    Linux系統常用監控命令14

      5.1 top

      例如最常用的top命令:

    Linux系統常用監控命令15

      1: 顯示各個 CPU 的使用情況

      c: 顯示進程完整路徑

      H: 顯示線程

      P: 排序 - CPU 使用率

      M: 排序 - 內存使用率

      R: 倒序

      Z: Change color mappings

      B: Disable/enable bold

      l: Toggle load avg

      t: Toggle task/cpu stats

      m: Toggle mem info

    Linux系統常用監控命令16

      5.2 lsof

    Linux系統常用監控命令17

      6.性能測試

    Linux系統常用監控命令18

      7.用戶

    Linux系統常用監控命令19

      8.系統狀態

    Linux系統常用監控命令20

      9.硬件設備

    Linux系統常用監控命令21

      10.文件系統

    Linux系統常用監控命令22

      11.內核、中斷

    Linux系統常用監控命令23

      12.系統日志、內核日志

    Linux系統常用監控命令24

      13.cron 定時任務

    Linux系統常用監控命令25

      14.調試工具

      14.1 perf

      14.2 strace

      strace命令用于打印系統調用、信號:

    Linux系統常用監控命令26

      14.3 ltrace

      ltrace命令用于打印動態鏈接庫訪問:

    Linux系統常用監控命令27

      15.場景案例

      場景 1:連上服務器之后

    Linux系統常用監控命令28

      場景 2:/proc 目錄有哪些信息 cat /proc/...

    Linux系統常用監控命令29

      場景 3:后臺執行命令

    Linux系統常用監控命令30

      一些命令

    Linux系統常用監控命令31+

    Linux系統常用監控命令32-

    聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

    10年以上業內強師集結,手把手帶你蛻變精英

    請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通

    免費領取

    今日已有369人領取成功

    劉同學 138****2860 剛剛成功領取
    王同學 131****2015 剛剛成功領取
    張同學 133****4652 剛剛成功領取
    李同學 135****8607 剛剛成功領取
    楊同學 132****5667 剛剛成功領取
    岳同學 134****6652 剛剛成功領取
    梁同學 157****2950 剛剛成功領取
    劉同學 189****1015 剛剛成功領取
    張同學 155****4678 剛剛成功領取
    鄒同學 139****2907 剛剛成功領取
    董同學 138****2867 剛剛成功領取
    周同學 136****3602 剛剛成功領取

    猜你喜歡LIKE

    最新文章NEW

    相關推薦HOT

    更多>>

    快速通道 更多>>

    開班信息
    北京校區
    • 北京校區
    • 大連校區
    • 廣州校區
    • 成都校區
    • 杭州校區
    • 長沙校區
    • 合肥校區
    • 南京校區
    • 上海校區
    • 深圳校區
    • 武漢校區
    • 鄭州校區
    • 西安校區
    • 青島校區
    • 重慶校區
    • 太原校區
    • 沈陽校區

    日本黄色视频