This has now changed; run the following to find the adaptive read cache stats (ARC):
You can gleam some really useful information out of how your RAM is being utilised and what your required ARC size might be from the results – this may be a topic for a future post, however!
We upgraded a Proxmox box today which was running ZFS and ran into this rather scary looking error:
zpool: ../../lib/libzfs/libzfs_import.c:356: Assertion `nvlist_lookup_uint64(zhp->zpool_config, ZPOOL_CONFIG_POOL_GUID, &theguid) == 0′ failed.
Zpools would not import and zpool status did not work. Resolved (so far, anyhow, still testing) by running:
apt-get install zfsutils
Another good reason to have test environments…
UPDATE: This information is now out of date, see new post here.
One very handy ZFS-related command which has been missing from the standard ZFS on Linux implementation has been arcstat.py. This script provides a great deal of useful information about how effective your adaptive read cache (ARC) is.
ZFSoL 0.6.2 includes it, which you can now update to in Ubuntu with apt-get upgrade. But how do you actually use it when you upgrade? Easy. Assuming you have python installed, run the following (this works for 13.04 at least – we will check the others and update when we do):
This will provide you with the default readout, e.g. for our system which just rebooted:
time read miss miss% dmis dm% pmis pm% mmis mm% arcsz c
21:33:13 3 1 33 1 33 0 0 1 33 2.5G 15G
As you can see, since the system has just rebooted and hasn’t started caching requests the ARC size is quite small – 2.5G.
This is an extremely useful tool to get an idea of how your ARC is performing – we will do a piece on interpreting the results soon!