Heroku: understanding what version of Linux Kernel is used

Viewed 76

I'm confused about which Linux Kernel is used to run Heroku apps, and the docs don't seem to spell it out.

Heroku offers "stacks" synced to Ubuntu LTS releases, and I just upgraded one of our apps from Heroku-18 (Ubuntu 18.04) to Heroku-20 (Ubuntu 20.04), and I was curious as to whether that would constitute a Linux Kernel upgrade.

So, before I upgraded the stack, I logged into a dyno and ran the following (on Heroku-18):

~ $ cat /proc/version_signature
Ubuntu 4.4.0-1097.102-aws 4.4.262
~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.6 LTS
Release:    18.04
Codename:   bionic

and then after upgrading to Heroku-20:

~ $ cat /proc/version_signature
Ubuntu 4.4.0-1097.102-aws 4.4.262
~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:    20.04
Codename:   focal

So, upgrading did NOT change the Kernel version 4.4.262, which appears to have been released March 2021 (10 months ago).

The docs for Ubuntu 20 say that it's based on LTS Linux 5.4, so why is Heroku continuing to use the older 4.4.x Kernel? When might this be upgraded, and how might it be communicated?

I was also curious what the Kernel version would be for Heroku's container stack; I'm not sure how to find this out, but given the above, I'm betting that it too would be 4.4.x. This matters to me because I'm curious to try out io_uring and some other recent Linux Kernel developments, but it seems like I'd have to wait a long time to try out something like that on Heroku.

0 Answers
Related