① 請教關於linux上nvme ssd的ioctl調用的問題
省去了控制器的NVMe比SAS/SATA的熱插拔要復雜的多。在進行熱插拔測試之前,第一步就是要確認當前的系統是否支持熱插拔。1,確認SSD的支持對於SSD,熱插拔需要保證在插盤的過程中不會產生電流波峰而損壞器件;拔盤的時候,不會因為突然掉電而丟失數據。這個可以向SSD供應商確定或者查看產品規格書。2,確認PCIe卡槽的支持上面提到,NVMe是直接連接到PCIeBus上的,U.2介面也是直接跟PCIe相連(當判斷插入的設備為NVMeSSD時)。某些U.2介面內部連接的PCIe卡槽並不支持熱插拔。PCIeSpec規定了熱插拔寄存器。下圖(通過lspci-vvv獲取)顯示了一個PCIe卡槽的Capabilities寄存器信息。其中LnkSta,SltCap,SltCtl和SltSta4個部分在熱插拔過程中比較有用(具體意義請參考PCIeSpec)。HotPlug和Surprise是最基礎的判斷熱插拔的標志位。SltSta中有一個PresDet位指示當前是否有PCIe設備插入卡槽。
② 軍工SSD的測試流程,求詳解
鴻秦科技遵循國軍標要求,結合軍工產品的應用實踐經驗,針對軍工SSD產品有一套完善的測試流程。
1、高溫貯存試驗;2、高溫工作試驗;3、低溫貯存試驗;4、低溫工作試驗;5、溫度循環試驗;6、低氣壓試驗;7、機械沖擊試驗;8、振動試驗。
③ 固態硬碟在linux下怎麼優化
1.使用Ext4 without journaling文件系統
傳統的SSD+Linux組合一般推薦Ext2文件系統,主要是考慮到Ext3、Ext4需要額外的記錄日誌,會縮短SSD使用壽命,而且新出現的TRIM技術在Ext2中有兩個缺點:
僅支持離線TRIM,換句話說文件系統必須只讀掛載;
需要手動執行hdparm命令或wiper.sh腳本。
Ext4則沒有這些限制,允許TRIM後台運行,並且日誌記錄功能可以手動關閉(沒有日誌的情況下,文件系統更容易損壞,如突然斷電),如果你甘願冒這樣的風險,從而延長SSD使用壽命,值得一試。另外,許多測試中如:Testing EXT4 & Btrfs On A Serial ATA 3.0 SSD,像Btrfs這樣為SSD准備的文件系統不如Ext4速度快(用SSD不就為了快么)。
所以,上面安裝系統時,選擇了Ext4系統,接下來需要關閉日誌功能。
首先,系統掛載時無法停用日誌功能,所以需要進入剛才的U盤系統,利用root許可權執行:
tune2fs -O ^has_journal /dev/sda1
即關閉/dev/sda1上的日誌功能。
然後,運行操作系統檢測:
e2fsck -f /dev/sda1
不這樣,文件系統可能會出錯。
最後,重啟,進入SSD中的系統,檢查是否設置成功:
dmesg | grep EXT4
如果出現:
EXT4-fs (sda1): mounted filesystem without journal
說明設置成功。
原來是:mounted filesystem with ordered data mode
如果需要再次開啟日誌功能,只要運行tune2fs -O has_journal /dev/sda1即可。
2.開啟TRIM功能
TRIM是一種操作系統調度SSD塊寫入的方式。主要是因為同一個SSD的快閃記憶體單元頻繁操作會磨損,影響使用壽命,區別於傳統的機械硬碟處理刪除數據。Linux內核自2.6.33開始支持TRIM。
首先,檢查內核版本是否支持TRIM:
uname -a
然後,檢查SSD硬碟是否支持TRIM:
hdparm -I /dev/sda
如果顯示比如(不同硬體可能不同提示):
* Data Set Management TRIM supported
說明支持。
這兩個條件都滿足,在/etc/fstab中將:
/dev/sda1 / ext4 defaults 改為:
/dev/sda1 / ext4 discard,defaults 分區、掛載點、已經存在的選項不一定一樣。
測試新的fstab文件:
mount -oremount /dev/sda1
然後掛載:
mount
如果顯示discard字樣,說明成功,如:
/dev/sda1 on / type ext4 (rw,discard)
3.swap空間處理
對於大內存來說swap基本上都是空閑的,除非電腦進入休眠狀態,系統會將內存內容轉到swap中。有了SSD,開關機都在幾秒中,對我來說swap沒用,所以上面直接不分配swap空間。
如果分配了也行,空間要小,而且通過設置/proc/sys/vm/swappiness裡面的值,來減少swap換出量:
echo 1 > /proc/sys/vm/swappiness
0到100之間,值越大換出量越大。
4.設置noatime
當訪問文件時,系統會更新last-access這個文件/目錄元數據,設置noatime後可以減少這種操作。
將2步中的:
/dev/sda1 / ext4 discard,defaults 改為:
/dev/sda1 / ext4 noatime,discard,defaults 測試設置成功方法與上面一樣。
5.使用noop磁碟調度
通常操作系統調度機械硬碟時會提供一些數據的物理位置,這樣有利於機械硬碟優化尋道,但是對SSD沒意義,所以採用noop磁碟調度,即簡單發送請求,可以提高效率。
可以通過以下命令查看調度方法:
cat /sys/block/sda/queue/scheler
比如顯示:
[noop] deadline cfq
在/etc/rc.local中添加如下語句:
echo noop > /sys/block/sda/queue/scheler
6.內存分區加速
如果內存夠大,可以用ramdisk的方式,將一些經常變化的位置如/tmp放入內存,加快速度,減少對SSD的訪問。
依然是加在/etc/fstab中:
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0
更新方法與2相同,記得將瀏覽器等程序的緩存目錄設置到/tmp下。
④ 如何測試linux是否ssd硬碟
我用 cat /proc/scsi/scsi 查了一下硬碟型號 然後google看到是不是SSD硬碟
⑤ SSD 裝 Linux 選 Ext4 還是 Btrfs 好
在同樣的磁碟解釋下,來比較EXt4和Btrfs時,需要確定你要什麼類型的性能能,還有測試方法。例如:
使用IOzone V3.323版本來測試,在Write Performance的情況下,Ext4比Btrfs寫性能高出兩倍還要多那麼一些,約如2.2:1在Read Performace的情況下,Ext4比Btrfs讀性能要差一些,約為0.84:1所以要看你的應用,側重於讀還是寫的性能。
⑥ linux怎麼測試pcie-ssd
跟pc上的pcie一樣的一個匯流排而已啊,你有pcie設備的話插上你的板子上的pcie 插槽,就可以用了。當然你的系統中還得有pcie設備的驅動支持才行。