summaryrefslogtreecommitdiff
path: root/docs/system/options.rst
blob: 68f715c0661f82a53c36efaa14bd06c5bb5bd48e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
.. _system_options:

#######
Options
#######

This chapter describe the possibilities of advanced system behavior.

*******
General
*******

.. cfgcmd:: set system options beep-if-fully-booted

    Send an audible beep to the system speaker when system is ready.

.. cfgcmd:: set system options ctrl-alt-del-action [ ignore | reboot | poweroff ]

   Action which will be run once the ctrl-alt-del keystroke is received.

.. cfgcmd:: set system options reboot-on-panic

   Automatically teboot system on kernel panic after 60 seconds.

***********
HTTP client
***********

.. cfgcmd:: set system options http-client source-address <address>

   Several commands utilize curl to initiate transfers. Configure the local
   source IPv4/IPv6 address used for all CURL operations.

.. cfgcmd:: set system options http-client source-interface <interface>

   Several commands utilize curl to initiate transfers. Configure the local
   source interface used for all CURL operations.

.. note:: `source-address` and `source-interface` can not be used at the same time.


***********
Performance
***********

As more and more routers run on Hypervisors, expecially with a :abbr:`NOS
(Network Operating System)` as VyOS, it makes fewer and fewer sense to use
static resource bindings like ``smp-affinity`` as present in VyOS 1.2 and
earlier to pin certain interrupt handlers to specific CPUs.

We now utilize `tuned` for dynamic resource balancing based on profiles.

  .. seealso:: https://access.redhat.com/sites/default/files/attachments/201501-perf-brief-low-latency-tuning-rhel7-v2.1.pdf

.. cfgcmd:: set system options performance < throughput | latency >

  Configure one of the predefined system performance profiles.

  * ``throughput``: A server profile focused on improving network throughput.
    This profile favors performance over power savings by setting ``intel_pstate``
    and ``max_perf_pct=100`` and increasing kernel network buffer sizes.

    It enables transparent huge pages, and uses cpupower to set the performance
    cpufreq governor. It also sets ``kernel.sched_min_granularity_ns`` to 10 us,
    ``kernel.sched_wakeup_granularity_ns`` to 15 uss, and ``vm.dirty_ratio`` to
    40%.

  * ``latency``: A server profile focused on lowering network latency.
    This profile favors performance over power savings by setting ``intel_pstate``
    and ``min_perf_pct=100``.

    It disables transparent huge pages, and automatic NUMA balancing. It also
    uses cpupower to set the performance cpufreq governor, and requests a
    cpu_dma_latency value of 1. It also sets busy_read and busy_poll times to
    50 us, and tcp_fastopen to 3.