summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2021-09-08 11:29:49 +0200
committerMaria Matejka <mq@ucw.cz>2021-10-13 19:01:22 +0200
commit6cd37713781a3092f8166b2178fae35cbfec1e28 (patch)
treed80aaadbbd0b39765f6284229420dea754618c45 /doc
parent3a31c3aad6c53ea9673743f983e13728d8551149 (diff)
Multipage allocation
We can also quite simply allocate bigger blocks. Anyway, we need these blocks to be aligned to their size which needs one mmap() two times bigger and then two munmap()s returning the unaligned parts. The user can specify -B <N> on startup when <N> is the exponent of 2, setting the block size to 2^N. On most systems, N is 12, anyway if you know that your configuration is going to eat gigabytes of RAM, you are almost forced to raise your block size as you may easily get into memory fragmentation issues or you have to raise your maximum mapping count, e.g. "sysctl vm.max_map_count=(number)".
Diffstat (limited to 'doc')
-rw-r--r--doc/bird.sgml7
1 files changed, 7 insertions, 0 deletions
diff --git a/doc/bird.sgml b/doc/bird.sgml
index 39dadaf2..ddad4d98 100644
--- a/doc/bird.sgml
+++ b/doc/bird.sgml
@@ -145,6 +145,13 @@ BIRD executable by configuring out routing protocols you don't use, and
<p>You can pass several command-line options to bird:
<descrip>
+ <tag><label id="argv-block">-B <m/exp/</tag>
+ allocate memory using 2^<cf/exp/ byte sized blocks;
+ if you're expecting high memory load, raise this to
+ reduce number of allocated memory pages. For a million routes
+ in one table, the recommended setting is 18.
+ Default is your system page size, typically 12 for 4096 bytes.
+
<tag><label id="argv-config">-c <m/config name/</tag>
use given configuration file instead of <it/prefix/<file>/etc/bird.conf</file>.