Editing Performance

Jump to: navigation, search

Warning: You are not logged in.

Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 8: Line 8:
 
=== Memory Utilization ===
 
=== Memory Utilization ===
  
ZFS uses memory caching to improve performance. Filesystem meta-data, data, and the de-duplication Tables (DDT) are stored in the ARC, allowing frequently accessed data to be accessed many times faster than possible from hard disk media. The performance that you experience with ZFS can be directly linked to the amount of memory that is allocated to the ARC.
+
ZFS uses memory caching to improve performance. Filesystem meta-data, data, and the De-duplication Tables (DDT) are stored in the ARC, allowing frequently accessed data to be accessed many times faster than possible from hard disk media. The performance that you experience with ZFS can be directly linked to the amount of memory that is allocated to the ARC.
  
O3X uses Wired (non-pageable) memory for the ARC. Activity Monitor and top can display the total amount of Wired memory allocated. O3X is not the only user of wired memory, it is possible to examine the amount of memory  (measured in bytes) in use by O3X by issuing the command:
+
O3X uses Wired (non-pageable) memory for the ARC. Activity Monitor and Top can display the total amount of Wired memory allocated. O3X is not the only user of wired memory, it is possible to examine the amount of memory  (measured in bytes) in use by O3X by issuing the command:
::$ sysctl kstat.spl.misc.spl_misc.os_mem_alloc
+
::$ sysctl sysctl kstat.spl.misc.spl_misc.os_mem_alloc
  
 
Note that this value is more than likely greater than the configured maximum ARC size due to overheads in the allocator itself. By way of example on a 32GB iMac with the ARC set for 8GB.
 
Note that this value is more than likely greater than the configured maximum ARC size due to overheads in the allocator itself. By way of example on a 32GB iMac with the ARC set for 8GB.
  
::$ sysctl kstat | grep arc.max
+
::$ sysctl kstat | grep arc_max
::kstat.zfs.darwin.tunable.zfs_arc.max: 8589934592
+
::kstat.zfs.darwin.tunable.zfs_arc_max: 8589934592
 
::$ sysctl kstat.spl.misc.spl_misc.os_mem_alloc
 
::$ sysctl kstat.spl.misc.spl_misc.os_mem_alloc
 
::kstat.spl.misc.spl_misc.os_mem_alloc: 11866734592
 
::kstat.spl.misc.spl_misc.os_mem_alloc: 11866734592
Line 23: Line 23:
  
 
It is possible to temporarily limit the size of the ARC by issuing a command:
 
It is possible to temporarily limit the size of the ARC by issuing a command:
::$ sudo sysctl -w kstat.zfs.darwin.tunable.zfs_arc.max=<size of arc in bytes> (O3X 1.3.1 RC and beyond)
+
::$ sudo sysctl -w kstat.zfs.darwin.tunable.zfs_arc_max=<size of arc in bytes> (O3X 1.3.1 RC and beyond)
 
::$ sudo sysctl -w zfs.arc_max=<arc size in bytes> (O3X 1.3.0)
 
::$ sudo sysctl -w zfs.arc_max=<arc size in bytes> (O3X 1.3.0)
  
With the final release of O3X 1.3.1 (not 1.3.1-RC5) will come a persistent configuration mechanism. Adding the following line to /etc/zfs/zsysctl.conf will cause the change to be automatically applied whenever the O3X kexts are loaded.
+
With the final release of O3X 1.3.1 will come a persistent configuration mechanism. Adding the following line to /etc/zfs/zsysctl.conf will cause the change to be automatically applied whenever the O3X kexts are loaded.
 
::kstat.zfs.darwin.tunable.zfs_arc_max=<size in bytes of arc>
 
::kstat.zfs.darwin.tunable.zfs_arc_max=<size in bytes of arc>
  
Line 32: Line 32:
 
::$ arcstat.pl 1
 
::$ arcstat.pl 1
  
If you are trying to reduce the amount of memory used by O3X "right now", there are two steps. First reduce the maximum ARC size to a value of your choosing:
+
If you are trying to reduce the amount of memory used by O3X _right now_ there are two steps. First reduce the maximum arc size to a value of your choosing:
 
::$ sudo sysctl -w kstat.zfs.darwin.tunable.zfs_arc_max=<size of arc in bytes>
 
::$ sudo sysctl -w kstat.zfs.darwin.tunable.zfs_arc_max=<size of arc in bytes>
  

Please note that all contributions to OpenZFS on OS X may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see OpenZFS on OS X:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)