
我正在開發一個項目,該項目使用 SanDisk 緊湊型快閃記憶體來託管 Linux 作業系統(ext2 檔案系統,無交換)。系統使用單獨的 IDE 來記錄日誌和其他檔案 I/O 功能。在網路上查了一下,緊湊型快閃記憶體卡似乎標準能夠進行 100,000 次左右的寫入週期(考慮到負載平衡)。 SuperUser 有很多關於如何減少寫入次數的好問題,但我想知道是否有有什麼方法可以監控/記錄緊湊型快閃記憶體的寫入次數。這可能嗎?
答案1
所以我繼續深入挖掘並找到了一些選擇:
智慧CRL
smartmontools 套件中的此命令將列出寫入命令的數量(包括寫入的邏輯扇區)和其他一些簡潔的統計資料。https://linuxconfig.org/retrieve-hard-drive-s-age-and-general-health-information-using-linux。但我的緊湊型快閃記憶體缺乏 SMART 功能,因此無法運作。
/sys/區塊/dev/stat
該文件提供了有關區塊設備“dev”狀態的多項統計信息,包括我正在查找的內容 - 已處理的寫入 I/O 數量。https://www.kernel.org/doc/Documentation/block/stat.txt
vmstat -d
此命令還顯示不同的 I/O 統計資料。基本上與 /sys/block/dev/stat 相同的訊息,但針對所有磁碟統計資訊。必須 grep 一下才能取得我感興趣的 sda 裝置。
我還查看了其他一些內容,例如 diskstat 和 howtoing.com 上列出的一些有關 linux-performance-monitoring-with-vmstat-and-iostat-commands 的命令(我需要至少 10 個代表點才能發布超過 2 個連結)。
我認為 /sys/block/dev/stat 方法最適合我的需求。