Windows Registry

From OpenZFS on OS X
Jump to: navigation, search

Registry[edit]

Open ZFS uses the Registry for default tunable values which is read in on startup.

\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ZFSin

hostid[edit]

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[edit]

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[edit]

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[edit]

The ZFS tunables are many and constantly changing. The easiest way to display them all is to run the kstat program.

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