Ubuntu 下測試 NVME SSD 的讀寫速度

在 Ubuntu 系統下,測試 NVME SSD 的讀寫速度,有好多種方法,常用的有如下幾種:

1. Gnome-disks

Gnome-disks(也稱為“Disks”)是 GNOME 桌面環境中的磁盤管理工具,有圖形界面,是測試 NVME SSD 讀寫速度操作最方便的一種。

可以通過以下方式安裝:

??? sudo apt update
??? sudo apt install gnome-disk-utility

安裝完成后,從 Settings 選擇 Disks,打開該應用。

也可以在 Run Programm 下鍵入 gnomes-disks 直接運行:

在左側的設備列表中選擇你的固態硬盤,然后點擊右上角的菜單圖標(三個豎點),選擇 "Benchmark Disk" 來進行速度測試。?

下面是一個 128GB SSD 的測試結果:

作為對比,這是 一張 64GB SD 卡的結果,看起來性能比較差:

另一張 SD 卡:

2. hdparm

當然,也可以使用 hdparm 來測試去讀取速度:

????????sudo apt-get install hdparm

????????sudo hdparm -Tt /dev/mmcblk0

/dev/mmcblk0:Timing cached reads:   9082 MB in  2.00 seconds = 4546.07 MB/secHDIO_DRIVE_CMD(identify) failed: Invalid argumentTiming buffered disk reads:  36 MB in  3.11 seconds =  11.57 MB/sec

??????? sudo hdparm -Tt /dev/nvme0n1

/dev/nvme0n1:Timing cached reads:   9754 MB in  2.00 seconds = 4882.31 MB/secHDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for deviceTiming buffered disk reads: 1056 MB in  3.00 seconds = 351.64 MB/sec

3. fio

fio 是一個功能強大的磁盤性能測試工具,可以執行各種讀取和寫入測試,并提供詳細的性能報告。

可以使用以下命令安裝 fio:

????????sudo apt update????
????????sudo apt install fio

安裝完成后,創建一個配置文件,例如:test_ssd.fio,并在其中定義測試的參數。

    [global]ioengine=libaiodirect=1runtime=60time_basedbs=4knumjobs=1size=1G[test_ssd_read]filename=/dev/nvme0n1rw=read[test_ssd_write]filename=/dev/nvme0n1rw=write[test_ssd_randrw]filename=/dev/nvme0n1rw=randrw

然后,在終端中運行以下命令來執行測試:

????????sudo fio test_ssd.fio

test_ssd_read: (g=0): rw=read, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=1
test_ssd_write: (g=0): rw=write, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=1
test_ssd_randrw: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=1
fio-3.16
Starting 3 processes
Jobs: 3 (f=3): [R(1),W(1),m(1)][100.0%][r=40.2MiB/s,w=81.1MiB/s][r=10.3k,w=20.8k IOPS][eta 00m:00s]
test_ssd_read: (groupid=0, jobs=1): err= 0: pid=11250: Mon Jan  6 13:43:18 2025read: IOPS=6125, BW=23.9MiB/s (25.1MB/s)(1436MiB/60001msec)slat (usec): min=3, max=7732, avg=14.71, stdev=30.46clat (nsec): min=1750, max=23628k, avg=144762.35, stdev=177571.14lat (usec): min=37, max=23643, avg=160.05, stdev=180.14clat percentiles (usec):|  1.00th=[   52],  5.00th=[   55], 10.00th=[   66], 20.00th=[   73],| 30.00th=[   79], 40.00th=[  104], 50.00th=[  125], 60.00th=[  141],| 70.00th=[  163], 80.00th=[  192], 90.00th=[  262], 95.00th=[  306],| 99.00th=[  367], 99.50th=[  392], 99.90th=[ 3458], 99.95th=[ 3720],| 99.99th=[ 5866]bw (  KiB/s): min=22280, max=25600, per=58.79%, avg=24492.71, stdev=542.05, samples=119iops        : min= 5570, max= 6400, avg=6123.14, stdev=135.51, samples=119lat (usec)   : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.01%, 50=0.19%lat (usec)   : 100=38.84%, 250=49.97%, 500=10.75%, 750=0.04%, 1000=0.02%lat (msec)   : 2=0.04%, 4=0.11%, 10=0.02%, 20=0.01%, 50=0.01%cpu          : usr=5.19%, sys=16.83%, ctx=367841, majf=0, minf=18IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%issued rwts: total=367511,0,0,0 short=0,0,0,0 dropped=0,0,0,0latency   : target=0, window=0, percentile=100.00%, depth=1
test_ssd_write: (groupid=0, jobs=1): err= 0: pid=11251: Mon Jan  6 13:43:18 2025write: IOPS=16.3k, BW=63.7MiB/s (66.8MB/s)(3820MiB/60001msec); 0 zone resetsslat (usec): min=3, max=1150, avg=13.95, stdev= 2.73clat (nsec): min=1167, max=3738.0k, avg=43920.67, stdev=12785.94lat (usec): min=28, max=3742, avg=58.42, stdev=13.36clat percentiles (usec):|  1.00th=[   41],  5.00th=[   41], 10.00th=[   42], 20.00th=[   42],| 30.00th=[   42], 40.00th=[   43], 50.00th=[   43], 60.00th=[   43],| 70.00th=[   44], 80.00th=[   46], 90.00th=[   48], 95.00th=[   51],| 99.00th=[   60], 99.50th=[   65], 99.90th=[  114], 99.95th=[  174],| 99.99th=[  326]bw (  KiB/s): min=62512, max=69112, per=79.17%, avg=65189.33, stdev=725.54, samples=119iops        : min=15628, max=17278, avg=16297.32, stdev=181.38, samples=119lat (usec)   : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.01%, 50=93.90%lat (usec)   : 100=5.97%, 250=0.10%, 500=0.01%, 750=0.01%, 1000=0.01%lat (msec)   : 2=0.01%, 4=0.01%cpu          : usr=13.82%, sys=39.91%, ctx=977956, majf=0, minf=13IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%issued rwts: total=0,978007,0,0 short=0,0,0,0 dropped=0,0,0,0latency   : target=0, window=0, percentile=100.00%, depth=1
test_ssd_randrw: (groupid=0, jobs=1): err= 0: pid=11252: Mon Jan  6 13:43:18 2025read: IOPS=4290, BW=16.8MiB/s (17.6MB/s)(1006MiB/60001msec)slat (usec): min=3, max=4648, avg=14.43, stdev=20.50clat (usec): min=2, max=8482, avg=142.87, stdev=154.52lat (usec): min=29, max=8497, avg=157.87, stdev=156.10clat percentiles (usec):|  1.00th=[   46],  5.00th=[   50], 10.00th=[   70], 20.00th=[   73],| 30.00th=[   77], 40.00th=[   89], 50.00th=[  116], 60.00th=[  137],| 70.00th=[  161], 80.00th=[  200], 90.00th=[  265], 95.00th=[  318],| 99.00th=[  383], 99.50th=[  408], 99.90th=[ 3163], 99.95th=[ 3654],| 99.99th=[ 4146]bw (  KiB/s): min=15536, max=21768, per=41.20%, avg=17163.20, stdev=1419.46, samples=119iops        : min= 3884, max= 5442, avg=4290.76, stdev=354.88, samples=119write: IOPS=4286, BW=16.7MiB/s (17.6MB/s)(1005MiB/60001msec); 0 zone resetsslat (usec): min=3, max=8166, avg=15.19, stdev=26.92clat (usec): min=2, max=10019, avg=51.45, stdev=52.63lat (usec): min=28, max=10041, avg=67.20, stdev=59.35clat percentiles (usec):|  1.00th=[   41],  5.00th=[   42], 10.00th=[   42], 20.00th=[   42],| 30.00th=[   43], 40.00th=[   43], 50.00th=[   43], 60.00th=[   44],| 70.00th=[   47], 80.00th=[   50], 90.00th=[   75], 95.00th=[  104],| 99.00th=[  113], 99.50th=[  130], 99.90th=[  215], 99.95th=[  314],| 99.99th=[ 2540]bw (  KiB/s): min=15312, max=21620, per=20.81%, avg=17139.04, stdev=1449.15, samples=119iops        : min= 3828, max= 5405, avg=4284.72, stdev=362.32, samples=119lat (usec)   : 4=0.02%, 10=0.01%, 20=0.01%, 50=42.73%, 100=24.79%lat (usec)   : 250=26.79%, 500=5.53%, 750=0.02%, 1000=0.01%lat (msec)   : 2=0.02%, 4=0.07%, 10=0.01%, 20=0.01%cpu          : usr=7.95%, sys=23.05%, ctx=514776, majf=0, minf=20IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%issued rwts: total=257454,257191,0,0 short=0,0,0,0 dropped=0,0,0,0latency   : target=0, window=0, percentile=100.00%, depth=1Run status group 0 (all jobs):READ: bw=40.7MiB/s (42.7MB/s), 16.8MiB/s-23.9MiB/s (17.6MB/s-25.1MB/s), io=2441MiB (2560MB), run=60001-60001msecWRITE: bw=80.4MiB/s (84.3MB/s), 16.7MiB/s-63.7MiB/s (17.6MB/s-66.8MB/s), io=4825MiB (5059MB), run=60001-60001msecDisk stats (read/write):nvme0n1: ios=624031/1233179, merge=0/0, ticks=84957/51088, in_queue=136046, util=100.00%

將 numjobs參數改為:8,最后結果如下:

Run status group 0 (all jobs):READ: bw=177MiB/s (186MB/s), 8521KiB/s-13.6MiB/s (8726kB/s-14.2MB/s), io=10.4GiB (11.1GB), run=60001-60006msecWRITE: bw=280MiB/s (294MB/s), 8509KiB/s-27.0MiB/s (8713kB/s-29.3MB/s), io=16.4GiB (17.6GB), run=60001-60006msecDisk stats (read/write):nvme0n1: ios=2713427/4292312, merge=0/0, ticks=702077/462120, in_queue=1164198, util=100.00%

可見,設置不同的參數,測得的結果也大不相同,參數靈活,使用復雜。

??????????????????????????????????????????????????????????????? 老徐,2025/01/06

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/65508.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/65508.shtml
英文地址,請注明出處:http://en.pswp.cn/web/65508.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringBoot之核心配置

學習目標: 1.熟悉Spring Boot全局配置文件的使用 2.掌握Spring Boot配置文件屬性值注入 3.熟悉Spring Boot自定義配置 4.掌握Profile多環境配置 5.了解隨機值設置以及參數間引用 1.全局配置文件 Spring Boot使用 application.properties 或者application.yaml 的文…

后端服務集成ElasticSearch搜索功能技術方案

文章目錄 一、為什么選用ElasticSearch二、ElasticSearch基本概念1、文檔和字段2、索引和映射3、倒排索引、文檔和詞條4、分詞器 三、ElasticSearch工作原理1、Term Dictionary、Term index2、Stored Fields3、Docs Values4、Segment5、Lucene6、高性能、高擴展性、高可用①高性…

舉例說明AI模型怎么聚類,最后神經網絡怎么保存

舉例說明怎么聚類,最后神經網絡怎么保存 目錄 舉例說明怎么聚類,最后神經網絡怎么保存K - Means聚類算法實現神經元特征聚類劃分成不同專家的原理和過程 特征提取: 首先,需要從神經元中提取有代表性的特征。例如,對于一個多層感知機(MLP)中的神經元,其權重向量可以作為特…

ocrmypdf使用時的cannot import name ‘PdfMatrix‘ from ‘pikepdf‘問題

最近在做pdf的ocr,之前使用過ocrmypdf,打算再次使用,發現它更新了,所以就打算使用最新版 環境:win11anaconda 創建虛擬環境后安裝語句: pip install ocrmypdf -i https://pypi.tuna.tsinghua.edu.cn/simple pip in…

【JavaEE進階】獲取Cookie/Session

🍀Cookie簡介 HTTP協議自身是屬于 "?狀態"協議. "?狀態"的含義指的是: 默認情況下 HTTP 協議的客?端和服務器之間的這次通信,和下次通信之間沒有直接的聯系.但是實際開發中,我們很多時候是需要知道請求之間的關聯關系的. 例如登陸?站成…

Oracle:ORA-00904: “10“: 標識符無效報錯詳解

1.報錯Oracle語句如下 SELECT YK_CKGY.ID,YK_CKGY.DJH,YK_CKGY.BLRQ,YK_CKGY.ZBRQ,YK_CKGY.SHRQ,YK_CKGY.YT,YK_CKGY.ZDR,YK_CKGY.SHR,YK_CKGY.BZ,YK_CKGY.JZRQ,YK_CKGY.ZT,YK_CKGY.CKLX,(case YK_CKGY.CKLXwhen 09 then藥房調借when 02 then科室退藥when 03 then損耗出庫when…

Linux 磁盤管理命令:使用xfs 管理命令

文章目錄 Linux磁盤管理命令使用xfs 管理命令1.命令說明2.建立 XFS 文件系統4.調整 XFS 文件系統各項參數5.在線調整 XFS 文件系統的大小6.暫停和恢復 XFS 文件系統7.嘗試修復受損的 XFS 文件系統8.備份和恢…

《Spring Framework實戰》3:概覽

歡迎觀看《Spring Framework實戰》視頻教程 Spring Framework 為基于現代 Java 的企業應用程序提供了全面的編程和配置模型 - 在任何類型的部署平臺上。 Spring 的一個關鍵要素是應用程序級別的基礎設施支持:Spring 專注于企業應用程序的 “管道”,以便…

借助免費GIS工具箱輕松實現las點云格式到3dtiles格式的轉換

在當今數字化浪潮下,地理信息系統(GIS)技術日新月異,廣泛滲透到城市規劃、地質勘探、文化遺產保護等諸多領域。而 GISBox 作為一款功能強大且易用的 GIS 工具箱,以輕量級、免費使用、操作便捷等諸多優勢,為…

均值濾波從圖像復原角度的解釋

廖老師說若將圖像生成看作一個隨機過程,均值濾波(Mean Filtering)可以視為在高斯噪聲模型下的線性最小均方估計(Linear Minimum Mean Squared Error, LMMSE)或者極大似然估計(Maximum Likelihood Estimatio…

高等數學學習筆記 ? 一元函數微分的基礎知識

1. 微分的定義 (1)定義:設函數在點的某領域內有定義,取附近的點,對應的函數值分別為和, 令,若可以表示成,則稱函數在點是可微的。 【 若函數在點是可微的,則可以表達為】…

linux之自動掛載

如果想要實現自動掛載,應該掛在客戶端!!!!! 客戶端: [rootlocalhost ~]# yum install nfs-utils -y (下載軟件) [rootlocalhost ~]# systemctl start nfs-utils.servic…

用戶界面軟件01

Jens Coldewey 著,Tom.X 譯 本文中的模式語言逐步深入地探討用戶界面架構的設計,它基于人機工程學,足以形成一套完整的體系。如果你對這方面有興趣,請參考[Tog92],[Coo95]和[Col95]。 本文不討論用戶界面的布局&…

Spring整合SpringMVC

目錄 【pom.xml】文件; 新建【applicationContext.xml】文件 新建【springmvc.xml】文件; 配置【src/main/webapp/WEB-INF/web.xml】文件; 新建【com.gupaoedu.service.IUserService】; 新建【com.gupaoedu.service.impl.Use…

【數據結構-堆】2233. K 次增加后的最大乘積

給你一個非負整數數組 nums 和一個整數 k 。每次操作,你可以選擇 nums 中 任一 元素并將它 增加 1 。 請你返回 至多 k 次操作后,能得到的 nums的 最大乘積 。由于答案可能很大,請你將答案對 109 7 取余后返回。 示例 1: 輸入&…

2025.1.8(c++對c語言的擴充——堆區空間,引用,函數)

筆記 上一筆記接續(練習2的答案) 練習:要求在堆區連續申請5個int的大小空間用于存儲5名學生的成績,分別完成空間的申請、成績的錄入、升序排序、成績輸出函數以及空間釋放函數,并在主程序中完成測試 要求使用new和d…

(長期更新)《零基礎入門 ArcGIS(ArcScene) 》實驗七----城市三維建模與分析(超超超詳細!!!)

城市三維建模與分析 三維城市模型已經成為一種非常普遍的地理空間數據資源,成為城市的必需品,對城市能化管理至關重要。語義信息豐富的三維城市模型可以有效實現不同領域數據與IS相信息的高層次集成及互操作,從而在城市規劃、環境模擬、應急響應和輔助決策等眾多領域公揮作用、…

在離線環境中安裝 `.rpm` 包的步驟

在一些環境中,可能無法直接通過網絡安裝軟件包。特別是在沒有互聯網連接的情況下,我們仍然可以手動下載 .rpm 安裝包并進行離線安裝。本文將介紹如何在離線環境中安裝多個 .rpm 包,確保軟件的順利安裝和依賴關系的處理。 1. 將 .rpm 文件復制…

【人工智能開題報告】

人工智能開題報告 第一步 12 篇文獻 應用(研究)領域歷史、現狀、發展趨勢以及對社會、環境、健康、安全等方面的影響分析第二步 15篇 應用(研究)領域中的 工作成果簡述2.1 國外 6篇2.2 國內 9篇 第三步 9/10篇 研究方案 的分析與選…

Harmony開發【筆記1】報錯解決(字段名寫錯了。。)

在利用axios從網絡接收請求時,發現返回obj的code為“-1”,非常不解,利用console.log測試,更加不解,可知拋出錯誤是 “ E 其他錯誤: userName required”。但是我在測試時,它并沒有體現為空,…