衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

盤點那些常用的Linux性能分析工具1

jf_78858299 ? 來源: 碼農的荒島求生 ? 作者: 碼農的荒島求生 ? 2023-02-15 14:10 ? 次閱讀

出于對Linux操作系統的興趣,以及對底層知識的強烈欲望,因此整理了這篇文章。本文也可以作為檢驗基礎知識的指標,另外文章涵蓋了一個系統的方方面面。如果沒有完善的計算機系統知識,網絡知識和操作系統知識,文檔中的工具,是不可能完全掌握的,另外對系統性能分析和優化是一個長期的系列。

本文檔主要是結合Linux 大牛,搜集Linux系統性能優化相關文章整理后的一篇綜合性文章,主要是結合博文對涉及到的原理和性能測試的工具展開說明。

背景知識:具備背景知識是分析性能問題時需要了解的。比如硬件 cache;再比如操作系統內核。應用程序的行為細節往往是和這些東西互相牽扯的,這些底層的東西會以意想不到的方式影響應用程序的性能,比如某些程序無法充分利用 cache,從而導致性能下降等等。

性能分析工具

首先來看一張圖:

圖片

上圖是Brendan Gregg 的一次性能分析的分享,這里面的所有工具都可以通過 man 來獲得它的幫助文檔,下面簡單介紹介紹一下常規的用法:

1,vmstat--虛擬內存統計

vmstat(VirtualMeomoryStatistics,虛擬內存統計)是 Linux 中監控內存的常用工具,可對操作系統的虛擬內存、進程、CPU 等的整體情況進行監視。vmstat 的常規用法:vmstat interval times 即每隔 interval 秒采樣一次,共采樣 times 次,如果省略 times,則一直采集數據,直到用戶手動停止為止。簡單舉個例子:

圖片

可以使用 ctrl+c 停止 vmstat 采集數據。

第一行顯示了系統自啟動以來的平均值,第二行開始顯示現在正在發生的情況,接下來的行會顯示每5秒間隔發生了什么,每一列的含義在頭部,如下所示:

  • procs:r 這一列顯示了多少進程在等待cpu,b列顯示多少進程正在不可中斷的休眠(等待IO)。
  • memory:swapd 列顯示了多少塊被換出了磁盤(頁面交換),剩下的列顯示了多少塊是空閑的(未被使用),多少塊正在被用作緩沖區,以及多少正在被用作操作系統的緩存。
  • swap:顯示交換活動:每秒有多少塊正在被換入(從磁盤)和換出(到磁盤)。
  • io:顯示了多少塊從塊設備讀取(bi)和寫出(bo),通常反映了硬盤I/O。
  • system:顯示每秒中斷(in)和上下文切換(cs)的數量。
  • cpu:顯示所有的cpu時間花費在各類操作的百分比,包括執行用戶代碼(非內核),執行系統代碼(內核),空閑以及等待IO。

內存不足的表現:free memory 急劇減少,回收 buffer 和 cache 也無濟于事,大量使用交換分區(swpd),頁面交換(swap)頻繁,讀寫磁盤數量(io)增多,缺頁中斷(in)增多,上下文切換(cs)次數增多,等待IO的進程數(b)增多,大量CPU時間用于等待IO(wa)

2,iostat--用于報告中央處理器統計信息

iostat 用于報告中央處理器(CPU)統計信息和整個系統、適配器、tty 設備、磁盤和 CD-ROM 的輸入/輸出統計信息,默認顯示了與 vmstat 相同的 cpu 使用信息,使用以下命令顯示擴展的設備統計:

圖片

第一行顯示的是自系統啟動以來的平均值,然后顯示增量的平均值,每個設備一行。

常見 linux 的磁盤 IO 指標的縮寫習慣:rq 是 request,r 是 read,w 是 write,qu 是 queue,sz 是 size,a 是verage,tm 是 time,svc 是 service。

  • rrqm/s 和 wrqm/s:每秒合并的讀和寫請求,“合并的”意味著操作系統從隊列中拿出多個邏輯請求合并為一個請求到實際磁盤。
  • r/s和w/s:每秒發送到設備的讀和寫請求數。
  • rsec/s和wsec/s:每秒讀和寫的扇區數。
  • avgrq –sz:請求的扇區數。
  • avgqu –sz:在設備隊列中等待的請求數。
  • await:每個IO請求花費的時間。
  • svctm:實際請求(服務)時間。
  • %util:至少有一個活躍請求所占時間的百分比。

3, dstat--系統監控工具

dstat 顯示了 cpu 使用情況,磁盤 io 情況,網絡發包情況和換頁情況,輸出是彩色的,可讀性較強,相對于 vmstat 和iostat 的輸入更加詳細且較為直觀。在使用時,直接輸入命令即可,當然也可以使用特定參數

4,iotop--LINUX進程實時監控工具

iotop命令是專門顯示硬盤IO的命令,界面風格類似top命令,可以顯示IO負載具體是由哪個進程產生的。是一個用來監視磁盤I/O使用狀況的top類工具,具有與top相似的UI,其中包括PID、用戶、I/O、進程等相關信息。

可以以非交互的方式使用:

iotop –bod interval

查看每個進程的 I/O,可以使用

pidstat,pidstat –d instat

5, pidstat--監控系統資源情況

pidstat 主要用于監控全部或指定進程占用系統資源的情況,如 CPU,內存、設備 IO、任務切換、線程等。

使用方法:

pidstat –d interval

pidstat 還可以用以統計CPU使用信息:

pidstat –u interval

統計內存信息:

pidstat –r interval

6,top

  • top 命令的匯總區域顯示了五個方面的系統性能信息:
  • 負載:時間,登陸用戶數,系統平均負載;
  • 進程:運行,睡眠,停止,僵尸;
  • cpu:用戶態,核心態,NICE,空閑,等待IO,中斷等;
  • 內存:總量,已用,空閑(系統角度),緩沖,緩存;
  • 交換分區:總量,已用,空閑

任務區域默認顯示:進程 ID,有效用戶,進程優先級,NICE 值,進程使用的虛擬內存,物理內存和共享內存,進程狀態,CPU 占用率,內存占用率,累計 CPU 時間,進程命令行信息。

7,htop

htop 是 Linux 系統中的一個互動的進程查看器,一個文本模式的應用程序(在控制臺或者X終端中),需要 ncurses。

Htop 可讓用戶交互式操作,支持顏色主題,可橫向或縱向滾動瀏覽進程列表,并支持鼠標操作。

與 top 相比,htop 有以下優點:

  • 可以橫向或者縱向滾動瀏覽進程列表,以便看到所有的進程和完整的命令行。
  • 在啟動上,比top更快。
  • 殺進程時不需要輸入進程號。
  • htop支持鼠標操作。

8,mpstat

mpstat 是 Multiprocessor Statistics的縮寫,是實時系統監控工具。其報告CPU的一些統計信息,這些信息存放在 /proc/stat 文件中。在多 CPUs 系統里,其不但能查看所有 CPU 的平均狀況信息,而且能夠查看特定 CPU 的信息。常見用法:

mpstatP ALL interval times
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210395
  • 計算機
    +關注

    關注

    19

    文章

    7536

    瀏覽量

    88641
  • 操作系統
    +關注

    關注

    37

    文章

    6892

    瀏覽量

    123744
收藏 人收藏

    評論

    相關推薦

    如何在命令行模式下使用已有的Linux性能分析

    當你登陸一臺 Linux 服務器之后,因為一個問題要做性能分析時:你會在第 1 分鐘內做哪些檢測呢? 在 Netflix,我們有很多 EC2 的 L
    的頭像 發表于 02-17 09:45 ?3440次閱讀
    如何在命令行模式下使用已有的<b class='flag-5'>Linux</b><b class='flag-5'>性能</b><b class='flag-5'>分析</b>

    Linux性能分析工具匯總

    出于對Linux操作系統的興趣,以及對底層知識的強烈欲望,因此整理了這篇文章。本文也可以作為檢驗基礎知識的指標,另外文章涵蓋了一個系統的方方面面。如果沒有完善的計算機系統知識,網絡知識和操作系統知識,文檔中的工具,是不可能完全掌握的,另外對系統
    發表于 11-01 13:11 ?564次閱讀

    Linux性能分析工具大全

    今天浩道跟大家分享關于linux性能分析過程中常用到的分析工具
    發表于 01-05 09:52 ?633次閱讀

    常用Linux命令盤點

    玩過Linux的人都會知道,Linux中的命令的確是非常多,但是玩過Linux的人也從來不會因為Linux的命令如此之多而煩惱,因為我們只需要掌握我們最
    發表于 07-11 08:21

    常用linux命令盤點

    工作中常用linux命令
    發表于 07-22 07:24

    常用的嵌入式工具軟件有哪些

    嵌入式Linux開發需要借助許多的工具軟件,今天就來盤點一下。1.編輯器/IDE嵌入式一般都是C/C++的程序,選擇一個好的編輯器或者IDE作為開發
    發表于 12-24 08:27

    OpenHarmony常用性能分析工具

    1、OpenHarmony性能分析工具Bytrace介紹一、Bytrace簡介bytrace是開發人員用于追蹤進程軌跡、查看性能的一種
    發表于 03-21 09:42

    Linux那些事兒linux的入門介紹

    電子發燒友網站提供《Linux那些事兒linux的入門介紹.pdf》資料免費下載
    發表于 05-02 08:00 ?4次下載

    Linux(ubuntu)常用工具

    本文檔內容介紹了基于Linux(ubuntu)常用工具,供參考
    發表于 04-17 16:15 ?23次下載

    你知道perf學習-linux自帶性能分析工具怎么用?

    Linux性能調優工具,32內核以上自帶的工具,軟件性能分析。在2.6.31及后續版本的
    發表于 05-16 14:54 ?2632次閱讀

    盤點那些常用Linux性能分析工具2

    出于對Linux操作系統的興趣,以及對底層知識的強烈欲望,因此整理了這篇文章。本文也可以作為檢驗基礎知識的指標,另外文章涵蓋了一個系統的方方面面。如果沒有完善的計算機系統知識,網絡知識和操作系統知識,文檔中的工具,是不可能完全掌握的,另外對系統
    的頭像 發表于 02-15 14:11 ?963次閱讀
    <b class='flag-5'>盤點</b><b class='flag-5'>那些</b><b class='flag-5'>常用</b>的<b class='flag-5'>Linux</b><b class='flag-5'>性能</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b>2

    Linux常用遠程連接工具

    前言 大家好,這里是 浩道Linux ,主要給大家分享Linux、Python、 網絡通信、網絡安全等 相關的IT知識平臺。 今天浩道跟大家分享幾款Linux 常用遠程連接
    的頭像 發表于 06-30 10:31 ?1778次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>常用</b>遠程連接<b class='flag-5'>工具</b>

    Linux perf性能、實際應用與案例

    Linux perf(性能分析工具)是一個功能強大且靈活的性能剩余工具,它可以在
    發表于 07-03 10:22 ?718次閱讀

    如何使用perf性能分析工具

    放在一起,是內核級的工具。perf是在Linux上做剖析分析的首選工具。 perf命令介紹 perf 工具提供了一組豐富的命令來收集和
    的頭像 發表于 11-08 15:36 ?1726次閱讀
    如何使用perf<b class='flag-5'>性能</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b>

    Kali Linux常用工具介紹

    Kali Linux 虛擬機中自帶了大量滲透測試工具,涵蓋了信息收集、漏洞利用、口令破解、漏洞掃描等多個方面。 以下是按分類簡要介紹一部分常用工具的使用方法: 使用方法只能當做參考,**詳細
    的頭像 發表于 11-11 09:29 ?693次閱讀
    百家乐娱乐城赌场| 百家乐娱乐场真人娱乐场| 威尼斯人娱乐城投注网| 百家乐官网有没有绝| 百家乐官网娱乐人物| 百家乐官网博彩免费体验金3| 真人百家乐的玩法技巧和规则| 淮阳县| 做生意如何风水| 大发888官网46| 马洪刚百家乐官网技巧| 网上赌百家乐的玩法技巧和规则| 至尊百家乐官网规则| 总格24名人| 娱乐城彩金| 速博百家乐官网的玩法技巧和规则 | 大发888娱乐场下载 官方| 百家乐官网之对子的技巧| 百家乐换房| 晴隆县| 网络百家乐的陷阱| 欢乐谷娱乐城| 澳门百家乐加盟| 临泽县| 多台百家乐官网的玩法技巧和规则 | 威尼斯人娱乐城新闻| 曲麻莱县| 真人百家乐ea平台| 丹寨县| 现金百家乐信誉| 昌平区| 八卦与24山| 皇家赌场下载| 真人百家乐试玩游戏| 葡京娱乐城姚记| 百家乐官网刷钱| 申博太阳城娱乐网| 百家乐官网的巧门| 360棋牌游戏| 88百家乐现金网| 网上百家乐官网合法吗|