Disk

加速持久的實時 USB 磁碟操作

  • February 2, 2019

我創建了一個持久的 Debian 9 live usb。持久性配置為/ union. 一個意想不到的後果,雖然事後看來很明顯,但係統滯後於非記憶體讀取:

holmes@bakerst:~$ # WRITE to disk
holmes@bakerst:~$ dd if=/dev/zero of=tempfile bs=1M count=1024; sync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.417477 s, 2.6 GB/s

holmes@bakerst:~$ # READ from buffer
holmes@bakerst:~$ dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.0907808 s, 11.8 GB/s

holmes@bakerst:~$ # Clear cache, non-cached READ speed
holmes@bakerst:~$ sudo /sbin/sysctl -w vm.drop_caches=3
vm.drop_caches = 3
holmes@bakerst:~$ dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 15.3935 s, 69.8 MB/s

記憶體和非記憶體讀取操作之間存在 169 倍的差異!如果有的話,我可以做些什麼來提高性能?

  • 獲得更快的 USB 3 pendrive,或者甚至是 USB SSD :-)
  • 您可以輕鬆改進從 iso 文件的映像中讀取(在緩慢啟動之後),使用 boot 選項將 squash 文件系統的所有內容放入 RAM 中toram,但我認為這樣做並不容易或有意義持久化文件/分區的內容。有關更多詳細資訊,請參閱此連結

以下mkusb製作的持久實時系統的 grub 菜單螢幕截圖來自 Ubuntu,但在 Debian 上看起來非常相似。已經有一個菜單項toram

在此處輸入圖像描述

引用自:https://unix.stackexchange.com/questions/498349