Skip to Content

Restrict HANA Swap space usage with cgroups on SLES?


when a HDB server is maxed out in terms of memory (or even before), SLES will automatically swap processes out.
The problem with this is that SLES will also swap HANA processes, regardless of their criticality.

We've found out that there is a Kernel feature which might offer a solution: cgroups.
With control groups you could set a likelihood for swapping a process (In linux language: swappiness) for a certain group of processes. Since the processes usually have the hdb prefix, it's relatively easy to identify and group HANA related processes.

Has anyone ever used the cgroups and perhaps also with a SAP HANA DB installation? It's not the worst thing to swap out a process, but SLES does that when memory is occupied in terms of performance (not only space) and so SLES creates a fragmented process data distribution. Depending on your system size, this could slow down HANA process reaction times, certainly not what you want to happen if you could prevent it?

The cgroups documentation can be found here:

Thank you for any advice :)

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Jan 23, 2018 at 07:24 AM

    The memory used by HANA processes is not supposed to be swapped out at all.

    If it does, then the sizing and the actual data volume don’t match.

    If I’m not mistaken, the “eagerness” of SLES to swap memory out can be configured (swappiness ) to avoid unwanted swapping. Not sure if that’s part of the Linux for HANA setup but if it is, you’ll probably find it in the documentation.

    Add comment
    10|10000 characters needed characters exceeded