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

手機站
千鋒教育

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

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

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

【熱點話題】 零基礎學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

更多>>

快速通道 更多>>

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

两个人免费视频高清