mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-01-11 09:54:58 -06:00
Updated Explanation of Options in qBittorrent (mediawiki)
@@ -125,16 +125,16 @@ The following settings are also documented in qBittorrent and libtorrent, respec
|
||||
A complete list of libtorrent configuration may be found [https://www.libtorrent.org/reference-Settings.html here].
|
||||
* '''Asynchronous I/O threads''' — (default: 10) I/O threads that `libtorrent` will use. The number of threads actually used for SHA-1 hashing is n/4 (where n is the value of the setting), so for maximum performance, especially during torrent recheck, this setting should be set to 4 times the number of hardware threads on your machine. So for example, if your CPU is 4c/4t or 2c/4t, set this to 16, if your CPU is 4c/8t or 8c/8t set this to 32, etc. It is unlikely that setting this any higher than this will bring a performance benefit.
|
||||
* '''File pool size''' — (default: 5000) Sets the upper limit on the total number of files this session will keep open. The reason why files are left open at all is that some anti virus software hooks on every file close, and scans the file for viruses. deferring the closing of the files will be the difference between a usable system and a completely hogged down system. Most operating systems also has a limit on the total number of file descriptors a process may have open.
|
||||
* '''Outstanding memory when checking torrents''' — the amount of memory to use when checking torrents. Higher numbers give faster rechecks but use more memory.
|
||||
* '''Disk cache''' — amount of data that will remain in RAM before being written to disk. If set to `0`, no data will be kept in RAM and instead it will be immediately written to disk (you might see performance impact.)
|
||||
* '''Disk cache expiry interval''' — is the number of seconds from the last cached write to a piece in the write cache, to when it's forcefully flushed to disk. Default: `60 seconds`.
|
||||
* '''Enable OS cache''' — Paraphrased from the libtorrent docs: enable for better performance, disable if you also disabled libtorrent's read cache, or to help preventing the operating system from growing its file cache indefinitely, or if you want to prevent qbittorrent from potentially evicting all other processes' cache (which may result in lower perceived system responsiveness).
|
||||
* '''Guided read cache''' — enables the disk cache to adjust the size of a cache line generated by peers to depend on the upload rate you are sending to that peer. The intention is to optimize the RAM usage of the cache, to read ahead further for peers that you're sending faster to.
|
||||
* '''Coalesce reads & writes''' — allocate separate, contiguous, buffers for read and write calls. Only used where writev/readv cannot be used, and will use more RAM but may improve performance.
|
||||
* '''Send upload piece suggestions''' — controls whether or not libtorrent will send out suggest messages to create a bias of its peers to request certain pieces. If enabled, libtorrent will send out suggest messages for the most recent pieces that are in the read cache.
|
||||
* '''Send buffer watermark''' — this is the upper limit for the send buffer size. If the send buffer has fewer bytes than this, another 16kB block will be read into it. If set too small, upload rate capacity will suffer. If set too high, memory will be wasted. The actual watermark may be lower than this in case the upload rate is low.
|
||||
* '''Send buffer low watermark''' — the minimum send buffer target size (send buffer includes bytes pending being read from disk). For good and snappy seeding performance, set this fairly high, to at least fit a few blocks. This is essentially the initial window size which will determine how fast we can ramp up the send rate.
|
||||
* '''Send buffer watermark factor''' — the factor is specified as a percentage. i.e. 50 -> 0.5. The current upload rate to a peer is multiplied by this factor to get the send buffer watermark. This product is clamped to the "Send buffer watermark" setting so as to not exceed the max. For high speed upload, this should be set to a greater value than 100. For high capacity connections, setting this higher can improve upload performance and disk throughput. Setting it too high may waste RAM and create a bias towards read jobs over write jobs.
|
||||
* '''Outstanding memory when checking torrents''' — (default: 32 MiB) The amount of memory to use when checking torrents. Higher numbers give faster rechecks but use more memory.
|
||||
* '''Disk cache''' — (default: 0 (disabled)) Amount of data that will remain in RAM before being written to disk. If set to `0`, no data will be kept in RAM and instead it will be immediately written to disk (you might see performance impact.)
|
||||
* '''Disk cache expiry interval''' — (default: 60 s) is the number of seconds from the last cached write to a piece in the write cache, to when it's forcefully flushed to disk.
|
||||
* '''Enable OS cache''' — (default: enabled) Paraphrased from the libtorrent docs: enable for better performance, disable if you also disabled libtorrent's read cache, or to help preventing the operating system from growing its file cache indefinitely, or if you want to prevent qbittorrent from potentially evicting all other processes' cache (which may result in lower perceived system responsiveness).
|
||||
* '''Coalesce reads & writes''' — (default: enabled) Allocate separate, contiguous, buffers for read and write calls. Only used where writev/readv cannot be used, and will use more RAM but may improve performance.
|
||||
* '''Use piece extent affinity''' — (default: disabled) When this is true, create an affinity for downloading 4 MiB extents of adjacent pieces. This is an attempt to achieve better disk I/O throughput by downloading larger extents of bytes, for torrents with small piece sizes.
|
||||
* '''Send upload piece suggestions''' — (default: disabled) Controls whether or not libtorrent will send out suggest messages to create a bias of its peers to request certain pieces. If enabled, libtorrent will send out suggest messages for the most recent pieces that are in the read cache.
|
||||
* '''Send buffer watermark''' — (default: 500 KiB) This is the upper limit for the send buffer size. If the send buffer has fewer bytes than this, another 16kB block will be read into it. If set too small, upload rate capacity will suffer. If set too high, memory will be wasted. The actual watermark may be lower than this in case the upload rate is low.
|
||||
* '''Send buffer low watermark''' — (default: 10 KiB) The minimum send buffer target size (send buffer includes bytes pending being read from disk). For good and snappy seeding performance, set this fairly high, to at least fit a few blocks. This is essentially the initial window size which will determine how fast we can ramp up the send rate.
|
||||
* '''Send buffer watermark factor''' — (default: 50 %) The factor is specified as a percentage. i.e. 50 -> 0.5. The current upload rate to a peer is multiplied by this factor to get the send buffer watermark. This product is clamped to the "Send buffer watermark" setting so as to not exceed the max. For high speed upload, this should be set to a greater value than 100. For high capacity connections, setting this higher can improve upload performance and disk throughput. Setting it too high may waste RAM and create a bias towards read jobs over write jobs.
|
||||
* '''Outgoing ports''' — this is the range of ports to use for binding outgoing connections to and it shouldn't be too small. It is useful for users that have routers that allow QoS settings based on local port. Setting outgoing ports will limit the ability to keep multiple connections to the same client, even for different torrents. It is not recommended to change this setting. Its main purpose is to use it as an escape hatch for cheap routers with QoS capability but can only classify flows based on port numbers. It is a range instead of a single port because of the problems with failing to reconnect to peers if a previous socket to that peer and port is in the waiting state.
|
||||
* '''µTP-TCP mixed mode algorithm''' — determines how to treat TCP connections when there are uTP connections. Since uTP is designed to yield to TCP, there's an inherent problem when using swarms that have both TCP and uTP connections. If nothing is done, uTP connections would often be starved out for bandwidth by the TCP connections. This mode is called "Prefer TCP" in qBittorrent. The "Peer proportional" mode on the other hand, simply looks at the current throughput and rate limits all TCP connections to their proportional share based on how many of the connections are TCP. This works best if uTP connections are not rate limited by the global rate limiter.
|
||||
* '''Allow multiple connections from the same IP address''' — determines if connections from the same IP address as existing onnections should be rejected or not. This option is disabled by default to prevent abusive behavior by peers. It may be useful to allow such connections in cases where simulations are run on the same machine, and all peers in a swarm has the same IP address.
|
||||
@@ -157,4 +157,5 @@ A complete list of libtorrent configuration may be found [https://www.libtorrent
|
||||
Deprecated options may be safely removed from your config file.
|
||||
|
||||
* '''Listen on IPv6 address''' - also known as the config string <code>Connection\InterfaceListenIPv6</code> (since <code>4.2.1</code>). Replacement: "Optional IP address to bind to", confg string <code>Connection\InterfaceAddress</code>. Reason: [https://github.com/qbittorrent/qBittorrent/pull/11592 #11592].
|
||||
* '''Maximum number of half-open connections''' - also known as the config string <code>BitTorrent/Session/MaxHalfOpenConnections</code> (since <code>4.2.0</code>). Replacement: None. Reason: [https://github.com/arvidn/libtorrent/commit/ceccc2a4835fefce836001a7ccff8cca82d58999 option removed from libtorrent as it did not make sense anymore].
|
||||
* '''Maximum number of half-open connections''' - also known as the config string <code>BitTorrent/Session/MaxHalfOpenConnections</code> (since <code>4.2.0</code>). Replacement: None. Reason: [https://github.com/arvidn/libtorrent/commit/ceccc2a4835fefce836001a7ccff8cca82d58999 option removed from libtorrent as it did not make sense anymore].
|
||||
* '''Guided read cache''' — enables the disk cache to adjust the size of a cache line generated by peers to depend on the upload rate you are sending to that peer. The intention is to optimize the RAM usage of the cache, to read ahead further for peers that you're sending faster to.
|
||||
Reference in New Issue
Block a user