Difference between revisions of "Windows Registry"
(→Available tunables) |
m (→Available tunables) |
||
Line 45: | Line 45: | ||
As of 2022, the tunables are now written to the Registry when you install OpenZFS, so all | As of 2022, the tunables are now written to the Registry when you install OpenZFS, so all | ||
available tunables are visible there. This list below is now obsolete. | available tunables are visible there. This list below is now obsolete. | ||
− | + | <hr> | |
The ZFS tunables are many and constantly changing. The easiest way to display them all is to run the [[Windows_kstat|kstat]] program. <- Not true | The ZFS tunables are many and constantly changing. The easiest way to display them all is to run the [[Windows_kstat|kstat]] program. <- Not true | ||
− | Obsolete | + | Obsolete <s>Complete</s> list as of 2019-06-03: |
active_vnodes | active_vnodes |
Revision as of 02:43, 16 September 2022
Registry
Open ZFS uses the Registry for default tunable values which is read in on startup.
\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ZFSin old
\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\OpenZFS new
hostid
The Registry key hostid is generally handled by OpenZFS internally, ie, generated randomly if it is not set the first time Open ZFS is loaded.
You can change hostid if that is so desired. For example, if you share the pool between multiple Operating Systems on the same Hardware.
Arc Max
To set the ARC maximum memory usage to 2GB, create an entry;
"zfs_arc_max" REG_QWORD "0x80000000"
and reboot. If you wish to change it on a running system without rebooting, see the kstat example.
Vectorized Raidz
There are a few vectorized implementations to chose from, due to a lack of kstat porting, we can not display the method used or available. It is printed on the debug console.
To disable all assembler implementations, create a registry setting:
"icp_aes_impl" REG_SZ "generic" "icp_gcm_impl" REG_SZ "generic" "zfs_vdev_raidz_impl" REG_SZ "original" "zfs_fletcher_4_impl" REG_SZ "scalar"
Which would set the implementations to use the standard C versions. The default value is fastest which picks the highest available. Examples are
zfs_vdev_raidz_impl: [original] scalar sse2 ssse3 icp_gcm_impl_get: cycle fastest [generic] icp_aes_impl_get: cycle fastest [generic] x86_64 aesni zfs_fletcher_4_impl_get: fastest [scalar] superscalar superscalar4 sse2 ssse3
Available tunables
As of 2022, the tunables are now written to the Registry when you install OpenZFS, so all available tunables are visible there. This list below is now obsolete.
The ZFS tunables are many and constantly changing. The easiest way to display them all is to run the kstat program. <- Not true
Obsolete Complete list as of 2019-06-03:
active_vnodes aggregation_limit arc_lotsfree_percent arc_reduce_dnlc_percent async_read_max_active async_read_min_active async_write_max_active async_write_max_dirty_pct async_write_min_active async_write_min_dirty_pct create_negatives crtime dbuf_cache_max_bytes force_formd_normalized fzap_default_block_shift hostid ignore_negatives ignore_positives l2arc_feed_again l2arc_feed_min_ms l2arc_feed_secs l2arc_headroom l2arc_headroom_boost l2arc_max_block_size l2arc_noprefetch l2arc_norw l2arc_write_boost l2arc_write_max max_active metaslab_aliquot metaslab_df_alloc_threshold metaslab_df_free_pct read_gap_limit reclaim_nodes scrub_max_active scrub_min_active skip_unlinked_drain snaptime spa_asize_inflation spa_max_replication_override spa_mode_global spa_version sync_read_max_active sync_read_min_active sync_write_max_active sync_write_min_active use_system_sync vdev_mirror_shift vnop_debug write_gap_limit zfetch_array_rd_sz zfetch_max_streams zfetch_min_sec_reap zfs_arc_average_blocksize zfs_arc_grow_retry zfs_arc_max zfs_arc_meta_limit zfs_arc_meta_min zfs_arc_min zfs_arc_p_min_shift zfs_arc_shrink_shift zfs_default_bs zfs_default_ibs zfs_delay_max_ns zfs_delay_min_dirty_percent zfs_delay_scale zfs_dirty_data_max zfs_dirty_data_sync zfs_flags zfs_free_bpobj_enabled zfs_immediate_write_sz zfs_lua_max_instrlimit zfs_lua_max_memlimit zfs_mdcomp_disable zfs_no_scrub_io zfs_no_scrub_prefetch zfs_nocacheflush zfs_prefetch_disable zfs_read_chunk_size zfs_recover zfs_recv_queue_length zfs_scrub_limit zfs_send_corrupt_data zfs_send_holes_without_brth_tm zfs_send_queue_length zfs_send_set_freerecords_bit zfs_send_unmodified_spill_bloc zfs_special_class_metadata_res zfs_trim_extent_bytes_max zfs_trim_extent_bytes_min zfs_trim_metaslab_skip zfs_trim_queue_limit zfs_trim_txg_batch zfs_txg_timeout zfs_vdev_cache_bshift zfs_vdev_cache_max zfs_vdev_cache_size zfs_vdev_file_size_mismatch_cn zfs_vdev_queue_depth_pct zfs_write_implies_delete_child zil_replay_disable zio_dva_throttle_enabled zio_injection_enabled zpl_version zvol_immediate_write_sz zvol_inhibit_dev