成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用開源工具識別 Linux 的性能瓶頸

開源 Linux
不久前,識別硬件瓶頸還需要深厚的專業知識。今天的開源 GUI 性能監視器使它變得相當簡單。

[[404232]]

不久前,識別硬件瓶頸還需要深厚的專業知識。今天的開源 GUI 性能監視器使它變得相當簡單。

計算機是一個集成的系統,它的性能取決于最慢的硬件組件。如果一個組件的能力比其他組件差,性能落后而不能跟上,它就會拖累你的整個系統。這就是一個 性能瓶頸。消除一個嚴重的瓶頸可以使你的系統飛起來。

本文解釋了如何識別 Linux 系統中的硬件瓶頸。這些技術同時適用于個人的電腦和服務器。我強調的是個人電腦 —— 我不會涉及局域網管理或數據庫系統等領域的服務器特定的瓶頸。這些通常涉及專門的工具。

我也不會多談解決方案。這對本文來說是個太大的話題。相反,我將寫一篇關于性能調整的后續文章。

我將只使用開源的圖形用戶界面(GUI)工具來完成這項工作。大多數關于 Linux 瓶頸的文章都相當復雜。它們使用專門的命令,并深入研究神秘的細節。

開源提供的 GUI 工具使得識別許多瓶頸變得簡單。我的目標是給你一個快速、簡單的方法,你可以在任何地方使用。

從哪里開始

一臺計算機由六個關鍵的硬件資源組成。

  • 處理器
  • 內存
  • 存儲器
  • USB 端口
  • 互聯網連接
  • 圖形處理器

如果任何一個資源表現不佳,就會產生一個性能瓶頸。為了識別瓶頸,你必須監測這六種資源。

開源提供了大量的工具來完成這項工作。我會使用 GNOME 系統監視器。它的輸出很容易理解,而且你可以在大多數軟件庫中找到它。

啟動它并點擊“資源”標簽。你可以馬上發現許多性能問題。

 

圖 1. 系統監控器發現問題。(Howard Fosdick, CC BY-SA 4.0)

在“資源”面板上顯示三個部分:CPU 歷史、內存和交換歷史,以及網絡歷史。一眼就能看出你的處理器是否不堪負荷了,還是你的電腦沒有內存了,抑或你的網絡帶寬被用光了。

我將在下面探討這些問題。現在,當你的電腦速度變慢時,首先檢查系統監視器。它可以立即為你提供最常見的性能問題的線索。

現在讓我們來探討一下如何識別特定方面的瓶頸。

如何識別處理器的瓶頸

要發現瓶頸,你必須首先知道你有什么硬件。開源為這個目的提供了幾個工具。我喜歡 HardInfo,因為它的屏幕顯示很容易閱讀,而且廣泛流行。

啟動 HardInfo。它的“計算機->摘要”面板可以識別你的 CPU 并告訴你它的核心數、線程數和速度。它還能識別你的主板和其他計算機部件。

 

圖 2. HardInfo 顯示了硬件細節。(Howard Fosdick, CC BY-SA 4.0)

HardInfo 顯示,這臺計算機有一個物理 CPU 芯片。該芯片包含兩個處理器(或稱為核心)。每個核心支持兩個線程(或稱為邏輯處理器)。這就是總共四個邏輯處理器 —— 正是圖 1 中系統監控器的 CPU 歷史部分所顯示的。

當處理器不能在其時間內對請求做出反應時,就會出現 處理器瓶頸,說明它們已經很忙了。

當系統監控器顯示邏輯處理器的利用率持續在 80% 或 90% 以上時,你就可以確定這一點。這里有一個例子,四個邏輯處理器中有三個被淹沒在 100% 的利用率中。這是一個瓶頸,因為它沒有留下多少 CPU 用于其他工作。

 

圖 3. 一個處理器的瓶頸。(Howard Fosdick, CC BY-SA 4.0)

哪個程序導致了這個問題?

你需要找出是哪個程序在消耗所有的 CPU。點擊系統監視器的“進程”標簽。然后點擊“CPU 百分比”標頭,根據它們消耗的 CPU 的多少對進程進行排序。你將看到哪些應用程序正在扼殺你的系統。

 

圖 4. 識別違規的進程。(Howard Fosdick, CC BY-SA 4.0)

前三個進程各消耗了 總 CPU 資源的 24%。由于有四個邏輯處理器,這意味著每個進程消耗了一整個處理器。這就像圖 3 所示。

在“進程”面板上,一個名為“analytical_AI”的程序被確定為罪魁禍首。你可以在面板上右鍵單擊它,以查看其資源消耗的更多細節,包括內存使用、它所打開的文件、其輸入/輸出細節,等等。

如果你的登錄會話有管理員權限,你可以管理這個進程。你可以改變它的優先級,并停止、繼續、結束或殺死它。因此,你可以在這里立即解決你的瓶頸問題。

 

圖 5. 右鍵點擊一個進程來管理它。(Howard Fosdick, CC BY-SA 4.0)

如何解決處理瓶頸問題?除了實時管理違規的進程外,你也可以防止瓶頸的發生。例如,你可以用另一個應用程序來代替違規進程,繞過它,改變你使用該應用程序的行為,將該應用程序安排在非工作時間,解決潛在的內存問題,對該應用程序或你的系統軟件進行性能調整,或升級你的硬件。這里涉及的內容太多,所以我將在下一篇文章中探討這些方式。

常見的處理器瓶頸

在用系統監控器監控你的 CPU 時,你會遇到幾種常見的瓶頸問題。

有時一個邏輯處理器出現瓶頸,而其他所有的處理器都處于低利用率。這意味著你有一個應用程序,它的代碼不夠智能,無法利用一個以上的邏輯處理器,而且它已經把正在使用的那個處理器耗盡了。這個應用程序完成的時間將比使用更多的處理器要長。但另一方面,至少它能讓你的其他處理器騰出手來做別的工作,而不會接管你的電腦。

你也可能看到一個邏輯處理器永遠停留在 100% 的利用率。要么它非常忙,要么是一個進程被掛起了。判斷它是否被掛起的方法是,是看該進程是否從不進行任何磁盤活動(正如系統監視器“進程”面板所顯示的那樣)。

最后,你可能會注意到,當你所有的處理器都陷入瓶頸時,你的內存也被完全利用了。內存不足的情況有時會導致處理器瓶頸。在這種情況下,你要解決的是根本的內存問題,而不是體現出癥狀的 CPU 問題。

如何識別內存瓶頸

鑒于現代 PC 中有大量的內存,內存瓶頸比以前要少得多。然而,如果你運行內存密集型程序,特別是當你的計算機沒有很多的隨機存取內存(RAM)時,你仍然可能遇到這些問題。

Linux 使用內存 既用于程序,也用于緩存磁盤數據。后者加快了磁盤數據的訪問速度。Linux 可以在它需要的任何時候回收這些內存供程序使用。

系統監視器的“資源”面板顯示了你的總內存和它被使用的程度。在“進程”面板上,你可以看到單個進程的內存使用情況。

下面是系統監控器“資源”面板中跟蹤總內存使用的部分。

 

圖 6. 一個內存瓶頸。(Howard Fosdick, CC BY-SA 4.0)

在“內存”的右邊,你會注意到 交換空間。這是 Linux 在內存不足時使用的磁盤空間。它將內存寫入磁盤以繼續操作,有效地將交換空間作為你的內存的一個較慢的擴展。

你要注意的兩個內存性能問題是:

  1. 內存被大量使用,而且你看到交換空間的活動頻繁或不斷增加。
  2. 內存和交換空間都被大量使用。

情況一意味著更慢的性能,因為交換空間總是比內存更慢。你是否認為這是一個性能問題,取決于許多因素(例如,你的交換空間有多活躍、它的速度、你的預期,等等)。我的看法是,對于現代個人電腦來說,交換空間任何超過象征性的使用都是不可接受的。

情況二是指內存和交換空間都被大量使用。這是一個 內存瓶頸。計算機變得反應遲鈍。它甚至可能陷入一種“咆哮”的狀態,在這種狀態下,除了內存管理之外,它幾乎不能完成其他任務。

上面的圖 6 顯示了一臺只有 2GB 內存的舊電腦。當內存使用量超過 80% 時,系統開始向交換空間寫入,響應速度下降了。這張截圖顯示了內存使用量超過了 90%,而且這臺電腦已經無法使用。

解決內存問題的最終答案是要么少用內存,要么多買內存。我將在后續文章中討論解決方案。

如何識別存儲瓶頸

如今的存儲有固態和機械硬盤等多個品種。設備接口包括 PCIe、SATA、雷電和 USB。無論有哪種類型的存儲,你都要使用相同的程序來識別磁盤瓶頸。

從系統監視器開始。它的“進程”面板顯示各個進程的輸入/輸出率。因此,你可以快速識別哪些進程做了最多的磁盤 I/O。

但該工具并不顯示每個磁盤的總數據傳輸率。你需要查看特定磁盤上的總負載,以確定該磁盤是否是一個存儲瓶頸。

要做到這一點,使用 atop 命令。它在大多數 Linux 軟件庫中都有。

只要在命令行提示符下輸入 atop 即可。下面的輸出顯示,設備 sdb 達到 busy 101%。很明顯,它已經達到了性能極限,限制了你的系統完成工作的速度。

 

圖 7. atop 命令識別了一個磁盤瓶頸。(Howard Fosdick, CC BY-SA 4.0)

注意到其中一個 CPU 有 85% 的時間在等待磁盤完成它的工作(cpu001 w 85%)。這是典型的存儲設備成為瓶頸的情況。事實上,許多人首先看 CPU 的 I/O 等待時間來發現存儲瓶頸。

因此,要想輕松識別存儲瓶頸,請使用 atop 命令。然后使用系統監視器上的“進程”面板來識別導致瓶頸的各個進程。

如何識別 USB 端口的瓶頸

有些人整天都在使用他們的 USB 端口。然而,他們從不檢查這些端口是否被最佳地使用。無論你是插入外部磁盤、U 盤,還是其他東西,你都要確認你是否從 USB 連接的設備中獲得了最大性能。

這個圖表顯示了原因。潛在的 USB 數據傳輸率差異 很大

 

圖 8. USB 速度變化很大。(Howard Fosdick,根據 Tripplite 和 Wikipedia 提供的數字,CC BY-SA 4.0)

HardInfo 的“USB 設備”標簽顯示了你的計算機支持的 USB 標準。大多數計算機提供不止一種速度。你怎么知道一個特定端口的速度呢?供應商對它們進行顏色編碼,如圖表中所示。或者你可以在你的計算機的文檔中查找。

要看到你得到的實際速度,可以使用開源的 GNOME 磁盤 程序進行測試。只要啟動 GNOME 磁盤,選擇它的“磁盤基準”功能,然后運行一個基準測試。這將告訴你在一個端口插入特定設備時,你將得到的最大實際速度。

你可能會得到不同的端口傳輸速度,這取決于你將哪個設備插入它。數據速率取決于端口和設備的特定組合。

例如,一個可以以 3.1 速度運行的設備如果使用 2.0 端口就會以 2.0 的速度運行。(而且它不會告訴你它是以較慢的速度運行的!)相反,如果你把一個 USB 2.0 設備插入 3.1 端口,它能工作,但速度是 2.0 的速度。所以要獲得快速的 USB,你必須確保端口和設備都支持它。GNOME 磁盤為你提供了驗證這一點的方法。

要確定 USB 的處理瓶頸,使用你對固態和硬盤所做的同樣程序。運行 atop 命令來發現 USB 存儲瓶頸。然后,使用系統監視器來獲取違規進程的詳細信息。

如何識別互聯網帶寬瓶頸

系統監控器的“資源”面板會實時告訴你互聯網連接速度(見圖 1)。

有 很好的 Python 工具 可以測試你的最大網速,但你也可以在 SpeedtestFast.com 和 Speakeasy 等網站進行測試。為了獲得最佳結果,關閉所有東西,只運行 速度測試;關閉你的虛擬私有網絡;在一天中的不同時間運行測試;并比較幾個測試網站的結果。

然后將你的結果與你的供應商聲稱的下載和上傳速度進行比較。這樣,你就可以確認你得到的是你所付費的速度。

如果你有一個單獨的路由器,在有和沒有它的情況下進行測試。這可以告訴你,你的路由器是否是一個瓶頸。如果你使用 WiFi,在有 WiFi 和沒有 WiFi 的情況下進行測試(通過將你的筆記本電腦直接與調制解調器連接)。我經常看到人們抱怨他們的互聯網供應商,而實際上他們只是有一個 WiFi 瓶頸,可以自己解決。

如果某些程序正在消耗你的整個互聯網連接,你想知道是哪一個。通過使用 nethogs 命令找到它。它在大多數軟件庫中都有。

有一天,我的系統監視器突然顯示我的互聯網訪問量激增。我只是在命令行中輸入了 nethogs,它立即確定帶寬消耗者是 Clamav 防病毒更新。

 

圖 9. Nethogs 識別帶寬用戶。(Howard Fosdick, CC BY-SA 4.0)

如何識別圖形處理瓶頸

如果你把顯示器插在臺式電腦后面的主板上,你就在使用 板載顯卡。如果你把它插在后面的卡上,你就有一個專門的圖形子系統。大多數人稱它為 視頻卡 或 顯卡。對于臺式電腦來說,附加顯卡通常比主板上的顯卡更強大、更昂貴。筆記本電腦總是使用板載顯卡。

HardInfo 的“PCI 設備”面板告訴你關于你的圖形處理單元(GPU)。它還顯示你的專用視頻內存的數量(尋找標有“可預取”的內存)。

 

圖 10. HardInfo提供圖形處理信息。(Howard Fosdick, CC BY-SA 4.0)

CPU 和 GPU 非常密切地 一起工作。簡而言之,CPU 為 GPU 準備渲染的幀,然后 GPU 渲染這些幀。

當你的 CPU 在等待 100% 繁忙的 GPU 時,就會出現 GPU 瓶頸

為了確定這一點,你需要監控 CPU 和 GPU 的利用率。像 Conky 和 Glances 這樣的開源監控器,如果它們的擴展插件支持你的圖形芯片組,就可以做到這一點。

看一下 Conky 的這個例子。你可以看到,這個系統有很多可用的 CPU。GPU 只有 25% 的使用率。想象一下,如果這個 GPU 的數量接近 100%。那么你就會知道 CPU 在等待 GPU,你就會有一個 GPU 的瓶頸。

 

圖 11. Conky 顯示 CPU 和 GPU 的利用率。 (圖片來源:AskUbuntu論壇)

在某些系統上,你需要一個供應商專屬的工具來監控你的 GPU。它們可以從 GitHub 上下載,并在 GPU 監控和診斷命令行工具 這篇文章中有所描述。

總結

計算機由一系列集成的硬件資源組成。如果它們中的任何一個在工作量上遠遠落后于其他資源,就會產生性能瓶頸。這可能會拖累你的整個系統。你需要能夠識別和糾正瓶頸,以實現最佳性能。

 

不久前,識別瓶頸需要深厚的專業知識。今天的開源 GUI 性能監控器使它變得相當簡單。

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2018-03-05 14:00:19

Linux性能瓶頸命令

2024-02-02 15:21:08

工具頁面性能

2019-05-10 11:13:19

分析工具Java

2011-02-16 09:08:27

ASP.NET

2021-06-11 13:02:05

開源工具LinuxLinux PC

2019-05-23 08:08:33

MySQL數據庫DBA

2021-05-26 14:05:44

開源工具Linux內存取證

2020-11-11 10:00:13

NAT性能內核

2015-05-25 14:13:18

Yahoo MySQL性能分析工開源

2021-12-09 08:56:15

微軟開源分析工具

2025-05-19 09:20:08

2017-06-12 18:48:00

Android性能分析工具

2009-01-17 15:26:05

2009-06-22 08:38:33

Windows 7微軟操作系統

2023-06-09 12:59:52

Python性能分析

2013-02-22 18:28:18

容錯服務器、

2024-09-27 19:39:27

2019-10-31 11:50:19

MySQL數據庫Windows

2009-03-31 16:41:38

網絡性能網絡監控開源

2023-05-17 15:22:45

識別開源工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品欧美乱码久久久久久 | 真人女人一级毛片免费播放 | 成人三级网址 | 中文在线视频观看 | 久久国产高清 | 国产成人网 | 欧美性生活免费 | 在线观看免费av网 | 亚洲欧洲日本国产 | 欧美1—12sexvideos | 国产精品久久久久久久岛一牛影视 | 午夜激情国产 | 亚洲女人天堂网 | xxxcom在线观看 | 欧美狠狠操| 久久久综合精品 | 欧美 日韩 中文 | 免费性视频| 一级片视频免费 | 亚洲欧美综合精品另类天天更新 | 亚洲午夜精品久久久久久app | 亚洲精品久久久久久久久久久 | 国产一区欧美一区 | 免费久久99精品国产婷婷六月 | www.亚洲区 | 久久爱黑人激情av摘花 | 欧美日韩免费 | 欧美精品1区 | 成人福利视频 | 女生羞羞网站 | 羞羞的视频在线看 | 亚洲精品一区二区 | 久久久精品一区二区三区 | 中文区中文字幕免费看 | 中文字幕av一区二区三区 | 91亚洲精品国偷拍自产在线观看 | 日韩精品在线播放 | 国产精品久久久久aaaa九色 | 91就要激情 | 精品综合在线 | 日韩伦理一区二区三区 |