[Solved] ..._volume_multithreaded

Discussion related to "Everything" 1.5 Alpha.
Post Reply
w64bit
Posts: 253
Joined: Wed Jan 09, 2013 9:06 am

[Solved] ..._volume_multithreaded

Post by w64bit »

What is the meaning of ..._volume_multithreaded?
Last edited by w64bit on Fri Jan 21, 2022 3:31 pm, edited 1 time in total.
void
Developer
Posts: 16755
Joined: Fri Oct 16, 2009 11:31 pm

Re: ..._volume_multithreaded

Post by void »

This setting controls how many threads Everything will use to create the initial index.
This setting controls how many threads Everything will use to read properties and content for a volume.

..._volume_multithreaded can be one of the following values:
  • 0 = use recommended (default)
  • 1 = separate device thread
  • 2 = multiple threads
  • 3 = disabled
0 is the default, the following will determine how many threads Everything will use:
  • if the volume does not "incur a seek penalty" (eg: an SSD) and /no_incur_seek_penalty_multithreaded is enabled (see below) Everything will use multiple threads to read properties and content on this device.
  • if /separate_device_thread is enabled (see below) Everything will use a separate device thread (A device can contain multiple volumes)
  • Otherwise, do not use multiple threads.
In other words, Everything will use a separate thread for each device in your index by default.

When indexing, Everything will only use a maximum of one thread per device.



separate_device_thread

separate_device_thread is enabled by default.

To disable separate device threads:
  • Type in the following search and press ENTER:
    /separate_device_thread=0
    where 1 is enabled (default) and 0 is disabled.
    If successful, you should see separate_device_thread=0 in the status bar for a few seconds.
  • Type in the following search and press ENTER:
    /restart
    This might be necessary if Everything is seeing a physical device (eg: a HDD) as multiple devices.


no_incur_seek_penalty_multithreaded

no_incur_seek_penalty_multithreaded is disabled by default.

If you have a NVMe SSD, consider enabling multi-threaded access to the device:
  • Type in the following search and press ENTER:
    /no_incur_seek_penalty_multithreaded=1
    where 1 is enabled and 0 is disabled (default)
    If successful, you should see no_incur_seek_penalty_multithreaded=1 in the status bar for a few seconds.
  • Type in the following search and press ENTER:
    /restart
    This can improve reading property and content performance by up to 100% for each additional logical processor in your system.
Enabling no_incur_seek_penalty_multithreaded is very demanding on the system.
Expect high RAM usage, high CPU usage and high disk IO when reading properties and content.
Most NVMe SSDs can read at 3000MB/s, with /no_incur_seek_penalty_multithreaded enabled, you should see Everything read properties and content at these speeds.

Enabling no_incur_seek_penalty_multithreaded can also increase reading property and content performance for normal SSDs.



How to check if Everything is using multiple threads for each volume
  • In Everything, from the Tools menu, under the Debug submenu, click Statistics.
  • The current Multithreaded: value is listed for each volume.


content_max_threads

When multi-threading is enabled, Everything will use a thread on each logical CPU to read properties and content.

To limit the number of threads Everything uses when reading properties and content:
  • In Everything, type in the following search and press ENTER:
    /content_max_threads=x
    where x is the maximum number of threads to use.
    0 = unlimited (default)
Post Reply