8 Tuning systems with sapconf
#
The package sapconf
is available in SUSE Linux Enterprise Server and SUSE Linux Enterprise Server for SAP Applications.
It sets recommended parameters for the following types of SAP applications:
SAP NetWeaver, SAP HANA and SAP HANA-based applications.
This chapter describes sapconf
version 5.
sapconf
command has been removed
In SUSE Linux Enterprise Server and SUSE Linux Enterprise Server for SAP Applications 11 and 12, the sapconf
command
was included in the package with the same name.
For SUSE Linux Enterprise Server and SUSE Linux Enterprise Server for SAP Applications 15 this has been changed:
the command sapconf
have been removed from the
sapconf package. The package contains a systemd
service
only. There is no sapconf
command line tool anymore, no sapconf
/tuned
profiles,
and no tuned
.
8.1 Overview of sapconf
#
To use sapconf
, make sure
that the package sapconf is installed on your system.
sapconf
5 in SUSE® Linux Enterprise Server 12 #sapconf
5 (withouttuned
)sapconf-netweaver
(sapconf
profile as a replacement fortuned
profile)sapconf-hana
(sapconf
profile as a replacement fortuned
profile)sapconf-bobj
(sapconf
profile as a replacement fortuned
profile)sapconf-ase
(sapconf
profile as a replacement fortuned
profile)
sapconf
5 in SUSE® Linux Enterprise Server 15 #sapconf
5 (withouttuned
)no profiles anymore
Note that if you previously made changes to the system tuning, those
changes may be overwritten by sapconf
.
sapconf
5 ships a systemd
service which applies the tuning and ensures that
related services are running.
In SUSE Linux Enterprise Server and SUSE Linux Enterprise Server for SAP Applications 15, sapconf
no longer supports profiles.
8.2 Verifying sapconf
setup #
With sapconf
5.0.2 onwards the check tool sapconf_check
is available,
which verifies the correct setup of sapconf
. For example:
#
sapconf_check
This is sapconf_check v1.0. It verifies if sapconf is set up correctly and will give advice to do so. Please keep in mind: - This tool does not check, if the tuning itself works correctly. - Follow the hints from top to down to minimize side effects. Checking sapconf ================ [ OK ] sapconf package has version 5.0.2 [ OK ] saptune.service is inactive [ OK ] saptune.service is disabled [WARN] tuned.service is enabled/active with profile 'virtual-guest -> Sapconf does not require tuned! Run 'systemctl stop tuned.service', if not needed otherwise. [FAIL] sapconf.service is inactive -> Run 'systemctl start sapconf.service' to activate the tuning now. [FAIL] sapconf.service is disabled -> Run 'systemctl enable sapconf.service' to activate sapconf at boot.1 warning(s) have been found. 2 error(s) have been found. Sapconf will not work properly!
If sapconf_check
finds problems, it will give hints how to resolve the issue.
The tool will not verify if the system has been tuned correctly. It only checks that sapconf
is setup correctly and has been started.
8.3 Enabling and disabling sapconf
and viewing its status #
After the installation of sapconf
, the sapconf
service is enabled.
You can inspect or change the status of sapconf
as described in the
following:
To see the status of the service
sapconf
:#
systemctl status sapconf
The service should be displayed as active (exited).
To start the service
sapconf
:#
systemctl start sapconf
Should
sapconf
be disabled, enable and start it with:#
systemctl enable --now sapconf
To stop the service
sapconf
:#
systemctl stop sapconf
This command will disable the vast majority of optimizations immediately. The only exceptions from this rule are options that require a system reboot to enable/disable.
To disable
sapconf
, use:#
systemctl disable sapconf
If you have not specifically enabled any of the services that
sapconf
depends on yourself, this will also disable most tuning parameters and all services used bysapconf
.
sapconf
relies on
In addition to the sapconf
service it also relies on the following two services:
sysstat
which collects data on system activity.uuidd
which generates time-based UUIDs that are guaranteed to be unique even in settings where many processor cores are involved. This is necessary for SAP applications.
8.4 Configuring sapconf
#
In general, the default configuration of sapconf
already uses the
parameter values recommended by SAP. However, if you have special
needs, you can configure the tool to better suit those.
All parameters of sapconf
can be found in the file
/etc/sysconfig/sapconf
.
The file can be edited directly. All parameters in this file are
explained by means of comments and references to SAP Notes which can
be viewed at https://launchpad.support.sap.com/.
When sapconf
is updated, all customized parameters from this file will
be preserved as much as possible. However, sometimes parameters cannot
be transferred cleanly to the new configuration file. Therefore, after
updating it is advisable to check the difference between the previous
custom configuration which during the update is moved to
/etc/sysconfig/sapconf.rpmsave
and the new version at /etc/sysconfig/sapconf
.
Log messages related to this file are written to
/var/log/sapconf.log
.
When editing either of these files, you will find that some values are
commented by means of a #
character at the beginning of
the line. This means that while the parameter is relevant for tuning, there
is no suitable default for it.
Conversely, you can add #
characters to the beginning of
the line to comment specific parameters. However, you should avoid this
practice, as it can lead to sapconf
not properly applying the profile.
To apply edited configuration, restart sapconf
:
#
systemctl restart sapconf
Confirming that a certain parameter value was applied correctly works differently for different parameters. Hence, the following serves as an example only:
To confirm that the setting for TCP_SLOW_START
was
applied, do the following:
View the log file of
sapconf
to see whether it applied the value. Within/var/log/sapconf.log
, check for a line containing this text:Change net.ipv4.tcp_slow_start_after_idle from 1 to 0
Alternatively, the parameter may have already been set correctly before
sapconf
was started. In this case,sapconf
will not change its value:Leaving net.ipv4.tcp_slow_start_after_idle unchanged at 1
The underlying option behind
TCP_SLOW_START
can be manually configured at/proc/sys/net.ipv4.tcp_slow_start_after_idle
. To check its actual current value, use:#
sysctl net.ipv4.tcp_slow_start_after_idle
8.5 Removing sapconf
#
To remove sapconf
from a system, uninstall its package with:
#
zypper rm sapconf
Note that when doing this, dependencies of sapconf
will remain installed.
However, the service sysstat
will
go into a disabled state. If it is still relevant to you, make sure to
enable it again.
8.6 Using tuned
together with sapconf
#
With version 5 sapconf
does not rely on tuned
anymore. This means both tools
can be used independently.
sapconf
will print a warning in it's log if tuned
service
is started.
tuned
and sapconf
together
If you are going to use tuned
and sapconf
simultaneously,
be very careful, that bot tools do not configure the same system parameters.
8.7 For more information #
The following man pages provide additional information about sapconf
:
Detailed description of all tuning parameters set by
sapconf
:man 5 sapconf
Information about configuring and customizing the
sapconf
profile:man 7 sapconf
Also see the blog series detailing the updated version of sapconf
at:
A new sapconf is available:https://www.suse.com/c/a-new-sapconf-is-available/
A way to prepare a SLES system for SAP workload - Part 1:https://www.suse.com/c/sapconf-a-way-to-prepare-a-sles-system-for-sap-workload-part-1/