Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- I hope this actually gets to you, given that my questions back in May
- went apparently into the bit bucket.
- Please pass the following thoughts along to the person whose question
- you read in episode #164 concerned running ZFS on systems with limited (in
- a recent sense of the term) memory.
- 1) Avoid deduplication. Deduplication is the main thing in ZFS that
- needs the "+ 1 GB RAM / 1 TB of direct access storage" in the memory
- recommendations for systems running ZFS. There may be some obscurely rare
- situations in which deduplication's memory gluttony might be restrained
- sufficiently to use it on a 1 GB to 8 GB system, but you almost certainly
- do not face those situations (assuming there even are such). IOW, just
- don't use it. You'll get far more benefit from compression than from
- deduplication.
- 2) There are some sysctl variables you might twiddle with to see whether
- they can help:
- vm.kmem_size_max This one is often all you will need.
- You can usually let ZFS figure out how
- best to co-operate with other kernel
- storage needs within this limit. ZFS
- will probably bitch loudly during
- boot/startup if you set it slightly
- below 512 MB, but will probably still
- work okay.
- Note that the following can only be set when zfs.ko is loaded or ZFS is
- compiled into the kernel.
- vfs.zfs.arc_max This one allows you to limit the size
- of the ARC. Getting it right for all
- of your system's workloads is not easy
- and is complicated by the fact that it
- must be set in /boot/loader.conf.
- vfs.zfs.prefetch_disable The default is 1 unless the system's
- memory exceeds 4 GB; must be set at
- boot time like the two above. Leave
- disabled for systems with little
- memory; it's a performance option you
- can live without in most cases. If
- you really need fast, sequential read
- performance, you can try setting to 0,
- but you'd be better off getting more
- memory.
- vfs.zfs.vdev.cache.size
- 3) Don't use a L2ARC (i.e., a "cache" vdev) because keeping track of its
- contents eats up RAM in addition to the ARC's requirements. Just live with
- the memory-resident ARC. You'll probably find that it's all you actually
- need anyway.
- Scott
Add Comment
Please, Sign In to add comment