diff options
-rw-r--r-- | Documentation/public-inbox-tuning.pod | 5 | ||||
-rw-r--r-- | examples/public-inbox-netd@.service | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/public-inbox-tuning.pod b/Documentation/public-inbox-tuning.pod index 38810ce6..73246144 100644 --- a/Documentation/public-inbox-tuning.pod +++ b/Documentation/public-inbox-tuning.pod @@ -163,6 +163,11 @@ Transport Layer Security (IMAPS, NNTPS, or via STARTTLS) significantly increases memory use of client sockets, be sure to account for that in capacity planning. +Bursts of small object allocations late in process life contribute to +fragmentation of the heap due to arenas (slabs) used internally by Perl. +jemalloc (tested as an LD_PRELOAD on GNU/Linux) appears to reduce +overall fragmentation compared to glibc malloc in long-lived processes. + =head2 Other OS tuning knobs Linux users: the C<sys.vm.max_map_count> sysctl may need to be increased if diff --git a/examples/public-inbox-netd@.service b/examples/public-inbox-netd@.service index de5feea6..2330bd59 100644 --- a/examples/public-inbox-netd@.service +++ b/examples/public-inbox-netd@.service @@ -12,6 +12,8 @@ Wants = public-inbox-netd.socket After = public-inbox-netd.socket [Service] +# An LD_PRELOAD for libjemalloc can be added here. It currently seems +# more resistant to fragmentation to glibc in long-lived daemons. Environment = PI_CONFIG=/home/pi/.public-inbox/config \ PATH=/usr/local/bin:/usr/bin:/bin \ TZ=UTC \ |