I have a simple ZFS setup at home, four disks mirrored, 8GB ram and 120GB Intel X25-M SSD for L2ARC. I ran zpool add poolname cache cXtXdX
then generated load and eagerly tracked the warming process by running zpool iostat -v mypool
. A few hours later, the L2ARC is full, but what exactly has been cached?
Can I peek in and see what's in my ARC/L2ARC? I understand that certain blocks would map to multiple filesystems (due to snapshots, cloning or dedup) but I'd still like to sample the statistics like these:
- Type of block cached: metadata. iSCSI, data. etc.
- Age: How long has each block been in the L2ARC
- Which files: directories that have some of their contents cached
- Filesystem breakdown: GB cached per filesystem
- Location of non-volatile copies of blocks (which drive/vdev)
I'd imagine zdb and/or dtrace would be the tools de jour, but don't really know where to start.