私のSSDは2TB PCIe 3.0 x4 M.2 NVMe(韓国ブランドのMega Fastro MS200、ドイツで100ドル未満で販売されています)です。 Windows smi_nvme_flash_id.exeユーティリティによると、Intel 96L TLC NANDと2G DRAMキャッシュを備えたSM2262ENコントローラです。ファームウェアバージョン42AAT7GD。これは CPU に直接接続された内部ソケットにあります。
パフォーマンステストのために、数百GBの/dev/randomデータでいっぱいになりました。奇妙なことは、任意のデータを読み取る速度です。
PCの電源を入れてArchLinux(6.2.8カーネル)から直接起動すると、読み取り速度が非常に高速です。
# echo 3 > /proc/sys/vm/drop_caches
# cat /dev/nvme0n1p1 |
( pv -S -s 222G > /dev/null
hexdump -C -n 32 )
222GiB 0:01:35 [2.34GiB/秒] [===================================== === === =>] 100%
00000000 b2 ce c5 36 de 56 bd 05 1f 65 82 8e 1c 23 18 07 |...6.V...e...#..|
00000010 03 0e b1 44 ec 6c 2c b0 64 47 d5 47 a6 59 cc 8b |...D.l,.dG.G.Y..|
00000020
> dev / nullの代わりにmd5sumを使用して、常に同じランダムデータを読み取ることを確認できます。 md5sumがdevnullより少し遅いだけです。
だから除いては大丈夫です。 Windows 10で再起動し、Linuxで再起動する場合。他の作業を行う必要はありません。まったく同じプロセスの読み取り速度が突然1GiB / s未満に制限されます。
222Gのデータは私のRAMをはるかに超えているので、キャッシュには関係ありません。温度は通常の範囲(負荷時最大80℃)内に維持されます。クーラーを追加してみようとするのに、効果があるか疑問です。上記のコマンドを連続して複数回繰り返すことができ、温度がすでに高い場合でも常に速く保たれます。 Windows(SSDには保存されていません)で再起動されたエントリがある場合は、冷却にかかる時間が必要です。
lspci 出力は変更されず、デバイスが PCIe 3.0 x4 モードで実行されていることを示します。 dmesg は変更されません。 /sys/block/nvme0n1/** 未変更のままです。 smartctl -a は変更されません。どこを見るべきか分からない。
再起動してもまだ遅いです。マシンをシャットダウンして再びオンにしてLinuxを起動すると、はるかに高速に戻ります。 Linuxで再起動し、迅速に保ちます。 Windowsを再起動し、Linuxを再起動しましたが、遅くなりました。
WindowsがLinuxで再起動した後も持続する制限の種類を設定できますか?それでは、コールドブートなしで初期化する方法はありませんか?