You are on page 1of 6

SAP Note

1275776 - Linux: Preparing SLES for SAP environments


Component: BC-OP-LNX-SUSE (SUSE Linux), Version: 40, Released On: 02.10.2023

Symptom
You want to apply SAP recommended operating system settings on SLES or SLES for SAP
Applications.

Other Terms
SUSE, SLES, Enterprise Server, suse, SuSE, Novell, novell, LINUX, i386, i586, i686, ix86,
ia64, iSeries, pSeries, Power, PowerPC, power, ppc, s390x, x86, x86_64, SLES11, SLES12,
SLES15, SLES 15, SLES 12,

Reason and Prerequisites


This note describes how to apply recommended operating system settings for running SAP
applications on SLES or SLES for SAP Applications.

Solution
The following sections describe two methodologies for configuring the SLES operating system
to run SAP applications:

sapt This section introduces the advanced "saptune" configuration, tuning and checking tool (ava
une ilable on SLES for SAP Applications only).

"saptune" can prepare the operating system based on implementing specific SAP notes, groups
of SAP notes per solution (e.g. SAP HANA, SAP NetWeaver).
For detailed documentation please read the man pages.

sapc This section introduces the "sapconf" configuration and tuning tool (available on SLES and
onf SLES for SAP Applications)
which performs a standardized minimum set of operating system changes.
For detailed documentation please read the man pages.

Important
When using sapconf or saptune, verify that parameters handled by theses tools a
re not configured elsewhere
(e.g. boot parameter, sysctl.conf, etc.). This can cause inconsistent system be
haviour!

=====================================================================
saptune
=====================================================================
This section introduces "saptune", which can prepare the operating system for SAP
applications based on implementing specific SAP Notes, some of which grouped into solutions
for ease of use.
It is possible to configure solutions, individual notes, add your own configuration,
simulate what an "apply" would do as well as verify the current settings.
Saptune is available in SLES for SAP Applications only.
Only the primary features are described here.
For more details please read the man pages and the SLES for SAP Applications Guide
(https://www.suse.com/documentation).

Important

Please use the latest available version to benefit from the latest improvements and bugfixes.

This chapter describes the current version 3 only.

Installation
Run:
zypper install saptune
Update
Run:
zypper update saptune
Since a package update can contain updates of SAP Notes and Solutions, please restart
saptune with 'saptune service restart' to re-apply the tuning and check afterwards with
'saptune note verify' if all recommendations are still met.
Setup
To enable and start saptune, run:
saptune service enablestart
or run:
saptune service takeover
which takes care of disabling and stopping the systemd services for sapconf and tuned as
well as enabling and starting saptune.
To verify the correct setup run:
saptune service status
or
saptune status

Saptune comes with the script 'saptune_check', which does a deeper analysis of the setup and als
o gives recommendations to fix problems.

With saptune 3.1 this script can be called directly with `saptune check`

Configuration
To configure saptune, select particular SAP Notes or groups of them - called Solutions -
that fit your setup.
All available solutions and notes can be listed with:
saptune solution list
or
saptune note list
To apply or revert a solution or SAP Note, run:
saptune solution apply|revert SOLUTION
or
saptune note apply|revert NOTE
Configuration changes take effect immediately.

Note: You can select any combination of SAP Notes also together with a solution.
This also includes reverting SAP Notes of a solution.

To verify a solution or SAP Note, run:


saptune solution verify [SOLUTION]
or
saptune note verify [NOTE]
You will get a table of the current value and the target value for each parameter.

To customize a SAP Note, run:


saptune note customise NOTE
This opens the editor defined by the environment variable EDITOR (vim if not set).
Every customization is handled by an override file for that Note in /etc/saptune/override/.
If you run 'saptune note customise' for the first time for a SAP Note, the override file
will be created with the entire
copy of the shipped configuration.

Important:

This override file should only contain the parameters you wish to alter or to disable. Otherwise
you mask any
updates of the SAP Note shipped by saptune.

Logging
Saptune uses the following log file:
var/log/saptune/saptune.log

Further documentation

Please read the man page of saptune for details:

saptune (8) Comprehensive system optimisation management for SAP solutions

saptune-note (5) Note definition files

saptune-migrate (7) Migration of saptune version 1 to saptune version 3

You can also find more information in the SLES for SAP Application Guide
(https://www.suse.com/documentation).
Machine readable output

In saptune 3.1 the first set of commands can print JSON output. This shall make it easier to
parse the output of saptune and integrate it into scripts or configuration management
systems.
To get JSON output, add '--format json' as the first option.
Example:
# saptune --format json note applied | jq
{
"$schema": "file:///usr/share/saptune/schemas/1.0/saptune_note_applied.schema.json",
"publish time": "2023-08-29 17:05:45.627",
"argv": "saptune --format json note applied",
"pid": 1538,
"command": "note applied",
"exit code": 0,
"result": {
"Notes applied": [
"941735",
"1771258",
"1980196",
"2578899",
"2684254",
"2382421",
"2534844",
"2993054",
"1656250"
]
},
"messages": []
}
If a command does not yet support JSON output, the command will fail and the result block
will contain: "implemented": false
# saptune --format json staging status | jq
{
"$schema": "file:///usr/share/saptune/schemas/1.0/saptune_staging_status.schema.json",
"publish time": "2023-08-29 17:08:16.708",
"argv": "saptune --format json staging status",
"pid": 1653,
"command": "staging status",
"exit code": 1,
"result": {
"implemented": false
},
"messages": []
}
Tips & Advice
If something seems not to work, run 'saptune_check' (or `saptune check' v3.1 and later).
The script will analyze the setup and give hints to fix problems.
Verify that parameters handled by saptune are not configured elsewhere (e.g. boot
parameter, sysctl.conf, etc.).
Check out the saptune chapter in the Guide for SLES for SAP Applications on
www.suse.com/documentation to learn about additional features.
The man pages are always up-to-date.
=====================================================================
sapconf
=====================================================================
The "sapconf" configuration and tuning tool is available on SLES and SLES for SAP
Applications and performs a standardized minimum set of
operating system changes.
For a more elaborate configuration tool refer to the section about saptune below.

Important:

Please use the latest available version to benefit from the latest improvements and bugfixes.

This chapter describes version 5 only.

Installation
Run:
zypper install sapconf
Upgrade
Run:
zypper update sapconf

Configuration

To start and enable sapconf run:

systemctl enable --now sapconf.service


After package installation this should been already the case.

Sapconf comes with the script 'sapconf_check'.

It does a deeper analysis of the setup and also gives recommendations to fix problems.

Sapconf can be configured by editing '/etc/sysconfig/sapconf'.


Every parameter has a comment section, which explains the details and the origin of the
recommendation (SAP Note).
After changing the configuration, restart the sapconf service:
systemctl restart sapconf.service

Important:

Some configuration options in the cpu section of tuned like 'energy_perf_bias', 'min_perf_pct', '
max_perf_pct' and 'no_turbo' have only effect on Intel.

For compatibility reasons you can still choose between the following profiles on SLES 12:
hana
netweaver (default)
ase
bobj
The profile can be changed with:
sapconf <profile>

Important:

The profiles 'netweaver' and 'hana' are identical and therefore either can be used. They are conf
igured by the configuration file '/etc/sysconfig/sapconf' mentioned above.

If you want to use 'sap-ase' or 'sap-bobj', additionally the files '/etc/sysconfig/sapnote-168080


3' ('ase') or '/etc/sysconfig/sapnote-bobj' ('sap-bobj') are used.
Keep in mind that some system values are still hard-coded and not configurable! Check the log /va
r/log/sapconf.log after applying the profile.

Profiles have been removed with SLES 15 and sapconf does not distinguishes between SAP products a
nymore.

Logging

Sapconf logs its actions to:


/var/log/sapconf.log
Further documentation

Please read the man pages of sapconf for details.

sapconf (5) describes the central configuration file of sapconf (/etc/sysconfig/sapconf)

sapconf (7) describes the sapconf tool (this one should be read first)

only available in SLES 12:

profile-sapconf-hana (7) describes the sapconf-hana profile

profile-sapconf-netweaver (7) describes the sapconf-netweaver profile

profile-sapconf-ase (7) describes the sapconf-ase profile

profile-sapconf-bobj (7) describes the sapconf-bobj profile

Also the configuration file (/etc/sysconfig/sapconf) has a comment section for each
parameter, describing the background and lists the
SAP note recommending the value.

Tips & Advice


After installation sapconf is enabled and started immediately with a default
configuration.
If something seems not to work, run 'sapconf_check'. The script will analyse the setup
and give hints to fix problems.
If an existing sapconf was deactivated, a package update will not change that state.
Sapconf selects the 'netweaver' profile automatically. You can switch to 'hana', which
is identical. (SLE12 only)
Verify that the configuration file /etc/sysconfig/sapconf fits your requirements.
Verify that parameters handled by sapconf are not configured elsewhere (e.g. boot
parameter, sysctl.conf, etc.).
Sapconf starts sysstat automatically. If you disable sapconf but want to use sysstat
further, enable the sysstat service: systemctl enable sysstat.service
If sysstat is not wanted, stop sysstat first and than mask the service: systemctl stop
sysstat.service && systemctl mask sysstat.service

This document refers to


SAP Note/KBA Component Title

2684254 HAN-DB SAP HANA DB: Recommended OS settings for SLES 15 / SLES for SAP Applications 15

2578899 BC-OP-LNX-SUSE SUSE Linux Enterprise Server 15: Installation Note

1984787 BC-OP-LNX SUSE LINUX Enterprise Server 12: Installation notes

171356 BC-OP-LNX SAP Software on Linux: General information

1437105 BC-CST-STS Operating system limits for SAP instances

1310037 BC-OP-LNX-SUSE SUSE LINUX Enterprise Server 11: Installation notes

This document is referenced by


SAP Note/KBA Component Title

3239378 SUSE: CPU cstate latency set too low

3261485 BC-OP-LNX-SUSE SUSE: Actual value of VSZ_TMPFS_PERCENT returned in saptune

3071338 HAN-DB Open file limitation mismatch between SAP HANA and operating system

2891837 BC-OP-LNX Native memory allocation (mmap) failed to map

2535340 BC-INS-UNX ABAP processes of instance [ABAP: UNKNOWN] did not start after 10:10 minutes.

2751030 BC-OP-LNX-SUSE Index server crash unresponsive or using a lot of memory on HANA

1391070 BC-OP-LNX Linux UUID solutions

2578899 BC-OP-LNX-SUSE SUSE Linux Enterprise Server 15: Installation Note

2684254 HAN-DB SAP HANA DB: Recommended OS settings for SLES 15 / SLES for SAP Applications 15

2369910 BC-OP-LNX SAP Software on Linux: General information

1984787 BC-OP-LNX SUSE LINUX Enterprise Server 12: Installation notes

1310037 BC-OP-LNX-SUSE SUSE LINUX Enterprise Server 11: Installation notes

1437105 BC-CST-STS Operating system limits for SAP instances

You might also like