Solaris
我的 ZFS ARC 和 L2ARC 記憶體中有什麼?
我在家裡有一個簡單的 ZFS 設置,四個磁碟鏡像,8GB 記憶體和 120GB Intel X25-M SSD 用於 L2ARC。我執行
zpool add poolname cache cXtXdX
然後生成負載並通過執行熱切地跟踪升溫過程zpool iostat -v mypool
。幾個小時後,L2ARC 已滿,但究竟記憶體了什麼?我可以窺視一下我的 ARC/L2ARC 中有什麼嗎?我知道某些塊會映射到多個文件系統(由於快照、複製或重複數據刪除),但我仍然想對這些統計資訊進行抽樣:
- 記憶體的塊類型:元數據。iSCSI,數據。等等
- 年齡:每個區塊在 L2ARC 中存在多長時間
- 哪些文件:記憶體了一些內容的目錄
- 文件系統故障:每個文件系統記憶體 GB
- 塊的非易失性副本的位置(驅動器/vdev)
我想 zdb 和/或 dtrace 將是主要的工具,但真的不知道從哪裡開始。
這是一個已更新以反映 L2ARC 中的數據的腳本。
見:http ://blog.harschsystems.com/2010/09/08/arcstat-pl-updated-for-l2arc-statistics/
我可能會爭辯說,您不應該關心記憶體中的內容,而應該關心是否記憶體了最有效的內容。即,ARC 記憶體是否已發揮最大效率?
我在工作中執行了一個小規模 (9TB) ZFS 實施,我發現 Ben Rockwood 的工具arc_summary.pl和 Sun 的arcstat.pl都在這篇cuddletech 部落格文章中有詳細介紹,它們非常有用。
我知道它不能直接回答您關於 ARC 記憶體中到底有什麼的問題,但是這些應該為您提供一些關於記憶體使用方式以及您是否需要更多記憶體/SSD 空間的可靠數據。