Linux上的USB驅動器基準測試

来源:https://www.cnblogs.com/testing-/archive/2023/09/28/17725015.html
-Advertisement-
Play Games

問題現象: 使用伺服器管理器打開本地安全策略,或使用win+R快捷鍵,輸入gpedit.msc打開系統組策略時,出現報錯:無法打開此電腦上的組策略對象。你可能沒有相應的許可權。 解決方法: 1、使用win+E快捷鍵打開資源管理器,點擊”查看“,勾選”隱藏的項目“,因為C:\Windows\Syste ...


基準測試

如果你想在U盤或其他外置USB硬碟上執行基準測試,程式與在普通內部存儲設備上執行基準測試非常相似。我們需要做的就是測量USB硬碟的讀寫速度。在本教程中,你將看到如何在 Linux 系統上通過命令行和圖形用戶界面對USB硬碟進行基準測試。

在本教程中,你將學習

  • 如何在主要Linux發行版上安裝hdparm和Bonnie++
  • 如何安裝GNOME磁碟工具
  • 如何使用 dparm、Bonnie++ 和GNOME disk執行基準測試

Linux 上的 USB 驅動器基準測試分步說明

我們有幾種不同的方法可用於在 Linux 上對 USB 驅動器進行基準測試。其中包括 hdparm 和 Bonnie++ 實用程式(均為命令行工具),以及 GNOME 磁碟實用程式(當然是圖形用戶界面應用程式)。你可以選擇自己喜歡的方法,並按照以下步驟操作。

使用dd測試寫速度

$ sync;dd if=/dev/zero of=tmp bs=1M count=1024;sync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 139.504 s, 7.7 MB/s

使用hdparm進行 USB 基準測試

hdparm 是方便的命令行工具,通常預設安裝在大多數Linux系統中。使用它進行測試的唯一問題是,它不能測量寫入速度,只能測量讀取速度。如果你只關心讀取速度,那麼請放心使用該工具。

如果還沒有安裝 hdparm,請先安裝:

  • Ubuntu、Debian 和 Linux Mint:
$ sudo apt install hdparm

Red Hat、Fedora、CentOS 和 AlmaLinux:

$ sudo dnf install hdparm

Arch Linux 和 Manjaro:

$ sudo pacman -S hdparm

接下來,我們將使用-t標誌執行測試,並使用--direct選項繞過hdparm命令的系統緩存。您還必須指定USB存儲設備的塊路徑:


$ sudo hdparm -t --direct /dev/sda1

/dev/sda1:
Timing O_DIRECT disk reads: 258 MB in 3.02 seconds = 85.55 MB/sec

hdparm 中的結果顯示,我們的USB硬碟的讀取速度為 85.55 MB/sec

使用Bonnie++進行USB基準測試

Bonnie++將執行全面測試,以確定USB存儲設備的讀寫速度。這將為您提供非常準確的結果,但與hdparm相比,執行測試所需的時間要長得多。

如果你還沒有安裝 hdparm,請先安裝它:

  • Ubuntu、Debian 和 Linux Mint:
$ sudo apt install bonnie++

  • Red Hat、Fedora、CentOS 和 AlmaLinux:
$ sudo dnf install bonnie++

  • Arch Linux 和 Manjaro
$ sudo pacman -S bonnie++

使用-d選項指示 Bonnie++在何處進行讀寫測試。這應該指向USB驅動器上的某個目錄。

$ sudo pacman -S bonnie++

使用GNOME Disk進行USB基準測試

最後一種方法適用於希望使用圖形用戶界面進行基準測試的用戶。GNOME自帶的Disks實用程式可讓用戶輕鬆訪問強大的基準功能。如果您尚未將 GNOME 作為桌面環境,仍可按照以下步驟安裝必要的實用程式。

如果你還沒有安裝 GNOME Disks,那就從安裝它開始吧:

  • Ubuntu、Debian 和 Linux Mint:
$ sudo apt install gnome-disk-utility

  • Red Hat、Fedora、CentOS 和 AlmaLinux:
$ sudo dnf install gnome-disk-utility

  • Arch Linux 和 Manjaro:
$ sudo pacman -S gnome-disk-utility

下一步是打開 GNOME Disks 應用程式:

參考資料

lsusb

lsusb命令是Linux中的一個實用程式,允許用戶列出連接到系統的USB(通用串列匯流排)設備。該實用程式是usbutils軟體包的一部分,該軟體包提供了顯示系統中USB匯流排及其連接設備信息的實用程式。

USB (通用串列匯流排)是一種廣泛使用的將設備連接到電腦的標準。它允許用戶將鍵盤、滑鼠、印表機和外部存儲設備等多種設備輕鬆連接到電腦上。lsusb 命令可用於顯示這些設備的相關信息,包括供應商和產品 ID、設備名稱、設備驅動程式等。

語法

lsusb 命令的基本語法是

lsusb [options]

選項

lsusb 命令的一些常用選項如下

  • -v: 顯示 USB 設備的詳細信息。
  • -t: 顯示 USB 設備的樹形視圖。
  • -s: 顯示特定 USB 設備的信息,由其匯流排和設備編號指定。
  • -d:顯示特定 USB 設備的信息,由其供應商和產品 ID 指定。
  • -D:選擇要檢查的設備。

示例

要列出連接到系統的所有 USB 設備,請使用 lsusb 命令,不帶任何選項:

$ lsusb
Bus 002 Device 003: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2/50
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 05c8:03ef Cheng Uei Precision Industry Co., Ltd (Foxlink) HP True Vision HD Camera
Bus 001 Device 005: ID 0bda:385a Realtek Semiconductor Corp. Bluetooth Radio
Bus 001 Device 002: ID 28a0:1185  USB OPTICAL MOUSE 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

要顯示USB設備的詳細信息,請使用-v選項;要顯示USB設備的樹狀視圖,請使用-t選項;要顯示特定USB設備的信息,請使用-s選項,後面跟匯流排和設備編號。例如,要顯示匯流排4和設備2上USB設備的信息,請使用以下命令:

$ lsusb -s 4:2 -v 

要顯示特定USB設備的信息,請使用-d選項,後面跟上供應商和產品ID。例如,要顯示供應商ID為 8087、產品ID為c52b 的設備信息,請使用以下命令:

lsusb -d 1d6b:0002 -v 

查看USB設備版本:

# lsusb -vvv |grep -i -B5 -A5 bcdUSB
can't get debug descriptor: Resource temporarily unavailable

Bus 004 Device 002: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2/50
Device Descriptor:
  bLength                18
  bDescriptorType         1
can't get debug descriptor: Resource temporarily unavailable
  bcdUSB               3.20
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         9
  idVendor           0x0951 Kingston Technology
--
...

上面Kingston U盤的USB版本為3.20

釘釘或微信號: pythontesting 微信公眾號:pythontesting
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、背景 微信小程式手機號授權介面,從23年8月開始實行付費驗證。 文檔地址:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getRealtimePhoneNumber.html 新版手機號授權說明如下 ...
  • 前提 已經創建並編寫好了windows服務程式,且下載了Microsoft Visual Studio Installer Project插件。 創建windows服務程式的參考鏈接:https://blog.csdn.net/xiketangAndy/article/details/1268518 ...
  • [QuickApi("hello/world")] public class MyApi : BaseQuickApi<Req,Rsp>{} 使用方式 : dotnet add package Biwen.QuickApi dotnet add package Biwen.QuickApi.Sour ...
  • 在項目中我們經常會使用到委托,委托是多播的,如果控制不好反覆註冊就會多次觸發,可以使用委托的單例模式去註冊,這樣可以避免多次觸發問題。 下麵是幾種委托實例代碼: 帶參數委托管理: /// <summary> /// 帶參數的委托管理 /// </summary> public class Actio ...
  • Word中的圖表功能將數據可視化地呈現在文檔中。這為展示數據和進行數據分析提供了一種方便且易於使用的工具,使作者能夠以直觀的方式傳達信息。要通過C#代碼來實現在Word中繪製圖表,可以藉助 Spire.Doc for .NET 控制項,具體操作參考下文。 C# 在Word中插入柱狀圖 C# 在Word ...
  • https://www.codenong.com/cs106719464/ WinForm中的UI假死其實是個老生常談的問題了,但最近還是很多人問我該如何解決,所以今天就來說明一下如何解決UI假死的問題。實驗程式界面如下圖所示: 方法一:async + await + Task 首先看下麵一段代碼: ...
  • C# BeginInvoke實現非同步編程-CSDN博客 https://blog.csdn.net/Nire_Yeyu/article/details/133203267 C# BeginInvoke實現非同步編程BeginInvoke實現非同步編程的三種模式: 1.等待模式在發起了非同步方法以及做了一些 ...
  • 模擬.NET實際應用場景,綜合應用三個主要知識點:一是使用dnSpy反編譯第三庫及調試,二是使用Lib.Harmony庫實現第三庫攔截、偽造,三是實現同一個庫支持多版本同時引用。 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...