Skip to Content
Technical Articles

Addicted to RKS (Rolling Kernel Switch)

From time to time it is necessary to update the kernel. But what about finding a maintenance schedule to stop and start the system with the new kernel? Tricky… That’s why I became addicted to RKS. This article tells about my experience using it.

Getting started!

The first time I read about RKS I thought it was a complicated thing. I couldn’t be right. Then I found the correct steps: the SAP Help page brings all the information to setup the use of the Rolling Kernel Switch.


It is very important to consider the recommendations for using RKS, even more in a system with a lot of application servers, logon groups, batch processing and spool settings.

My experience

After following the recommendations, the adoption of RKS was smooth.

Now it is only a matter of download a new kernel patch level, put in the central executable directory, and use SAPMMC interface:



RKS 001.jpg

Good to go:

RKS 002.jpg



RKS 003.jpg

Timeout settings:

RKS 004.jpg


RKS 005.jpg


RKS 006.jpg

Additional reading:

953653 – Rolling Kernel Switch

1104735 – Upgrade to the new Instance-Specific Directory on UNIX

2077934 – Rolling kernel switch in HA environments


You must be Logged on to comment or reply to a post.
  • Hi Cristiano,

    Unfortunately for me, my environment isn't large enough to justify having lots of application servers and a dedicated ASCS instance, so RKS has not yet been a real option for me. However, I remain curious, how does the ASCS instance get updated without impacting the rest of the system? I admit I don't quite understand how the system functions without the Enqueue process available, and that now resides in the ASCS instance.



  • Hello Cristiano,

    I did all the manual checks before starting the RKS and I think we have all the things in place but when going for the automated pre-requisite check it is ending up with a very generic error stating "FAIL: Unsupported instance type with ABAP and Enqueue found".

    Does this check create any log/trace file to have some additional information about the failure, I ran out of all the options which can give me some hint on what is missing.


    Kind Regards


    • Hi Anand,

      Do you have the enqueue instance separated from the ABAP instance? One of the prerequisites for RKS is a separated ASCS instance.

      Kind regards,


      • Hello Cris,

        Yes, I have a separate ASCS instance in the system which is up and running.

        I used this below mentioned checklist to perform my manual check:

        Based on that I am sure we have everything  in place but then also automatic check is failing. I was wondering if there is a log/trace which is written during this check process which I can use to identify the issue I have in system. I am aware that RKS creates a log when it performs the restart but not able to get anything at the time of check.

        Kind Regards


        • Hello Anand,

          Do you see any error if you access the transaction SM12, menu Extras -> Diagnosis?

          Is the parameter "rdisp/wp_no_enq" set at any profile?

          Kind regards,


          • Hello Isaias,

            System is working fine and there seems to be no issue on that side.

            SM12 diagnosis is  also fine, although parameter mentioned by you exist but value is set to 0 as enqueue service are running on ASCS. I tried commenting out/removing  that line as well but with no change in error.

            Is there any place where it writes any log/trace for this check activity?


            Kind Regards


          • Hello Anand,

            Having the parameter "rdisp/wp_no_enq" set to zero or not set at all has the same effect, and since the ASCS exists in your system this is the correct setting ("rdisp/wp_no_enq" not set).

            I do not recall any trace file that would be written during RKS.

            Maybe opening an SCN discussion providing a screenshot from the error you see is the best way forward 🙂 .

            Kind regards,


    1. Will RKS work in a distributed environment where ASCS, CI, Application servers are installed in different hosts?
    2. What is the rollback plan incase of irreversible issues during RKS?
    3. does it work for JAVA/Dual Stack?
    • Hi!

      About question:

      1. Yes.
      2. You could either apply the new kernel manually, or roll back to the previous kernel.
      3. It is not supported.

      You can read the SAP Note 953653 for more information about RKS.



  • Hi Isaias,


    Thanks for your reply.

    Let me rephrase my question no 2:

    We already informed customer that using RKS, no downtime is required. Now while doing the kernel upgrade, if we face any irreversible issues then how to rollback to old kernel without going through downtime?

    Also before starting RKS, we are copying the new kernel into the existing kernel directory while system is running. Will there be any issue like "file already in use" etc  during copy specially in a windows environment?

    • Hello,

      You are welcome!

      Although there would be no "complete system downtime", the RKS procedure will restart one instance at a time.

      When you apply the new kernel, you apply it at the "global exe folder" only:

      • On Windows, "\\<SAP global host>\sapmnt\<SID>\exe\...";
      • On Linux/UNIX, "/sapmnt/<SID>/exe/...".

      No file should be in use at the global exe folder. Thus, you should not face issues like "file in use" on Windows servers.

      About the rollback strategy, I never tested this. But, I believe that you could use the RKS procedure to apply the old kernel again.

      If this fails as well, what you could do is a "manual RKS rollback":

      1. Put the old kernel back at the global exe folder;
      2. Put one instance in "passive mode", wait for all users to logoff, and then restart that instance;
      3. Repeat step #2 for all other instances, one at a time.