Docs: partially-revert 3009957, fix link to glibc malloc tunables

This commit is contained in:
Lovell Fuller 2025-09-20 10:47:43 +01:00
parent 3009957120
commit 3498eb63e3

View File

@ -18,18 +18,15 @@ export UV_THREADPOOL_SIZE="$(lscpu -p | egrep -v "^#" | sort -u -t, -k 2,4 | wc
```
libvips uses a glib-managed thread pool to avoid the overhead of spawning new threads.
The size of the shared thread pool will grow on demand and shrink when idle.
The default number of threads used to concurrently process each image is the same as the number of CPU cores,
except when using glibc-based Linux without jemalloc, where the default is `1` to help reduce memory fragmentation.
Use [`sharp.concurrency()`](/api-utility/#concurrency) to manage the number of threads per image.
The size of the shared thread pool will grow on demand and shrink when idle.
For control over this, set the `VIPS_MAX_THREADS` environment variable
to a value between 4 and 1024 to pre-allocate the thread pool at process start.
To reduce memory fragmentation when using the default Linux glibc memory allocator, set the
[`MALLOC_ARENA_MAX`](https://www.gnu.org/software/libc/manual/html_node/Memory-Allocation-Tunables.html)
[`MALLOC_ARENA_MAX`](https://sourceware.org/glibc/manual/latest/html_node/Memory-Allocation-Tunables.html)
environment variable before the Node.js process starts to reduce the number of memory pools.
```sh frame="none"