diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/Manifest b/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/Manifest
index 82c65e1417..98b34b4f2b 100644
--- a/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/Manifest
+++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/Manifest
@@ -1 +1 @@
-DIST systemd-stable-247.2.tar.gz 9890845 BLAKE2B 5363f429f4e629b9a05248b77f7c102da37e23c5678e14621ca67edeea59d7995064d037f04eb0ce57dd17a1b3a40a04e00619f77dbde82a61aabbc02f5bc412 SHA512 220739bedb7ccbb35d9d2ff441a52e0615fbe80da5141f7e0420d469f4d66d3604ea72ce70c3deaa2afa5a32b3c7eec4340738337c96891b471e23ed43cd6a82
+DIST systemd-stable-247.3.tar.gz 9895385 BLAKE2B f5b8b4beb5586563fac4a339a5fb6dfd2f95ec52c2a2214ca8229500b1c78653ba3f1f9713a67fbbeb78426da3b71e3f9532c4017ee44f46b47893d31d4b0457 SHA512 0b12f6b9b02d86ee2f4198dd5f96a6267652fdc4867517e10a214a59b63c996fd14aeb2f47a97806718cdda52d1705a3b2359e4ae5e5d8d52d61ad05e7941d1e
diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/files/0007-core-use-max-for-DefaultTasksMax.patch b/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/files/0007-core-use-max-for-DefaultTasksMax.patch
index f4265bb7eb..dd69810f03 100644
--- a/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/files/0007-core-use-max-for-DefaultTasksMax.patch
+++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/files/0007-core-use-max-for-DefaultTasksMax.patch
@@ -8,26 +8,27 @@ to 512, later 15% of the system's maximum number of PIDs. This
limit is low and a change in behavior that people running services
in containers will hit frequently, so revert to previous behavior.
---
- man/systemd-system.conf.xml | 5 +----
+ man/systemd-system.conf.xml | 6 +-----
src/basic/cgroup-util.h | 4 ++++
src/core/system.conf.in | 2 +-
- 3 files changed, 6 insertions(+), 5 deletions(-)
+ 3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/man/systemd-system.conf.xml b/man/systemd-system.conf.xml
-index 0dea50f2fe..bcbed4cf59 100644
+index 075666ac6b..bcbed4cf59 100644
--- a/man/systemd-system.conf.xml
+++ b/man/systemd-system.conf.xml
-@@ -361,10 +361,7 @@
+@@ -361,11 +361,7 @@
Configure the default value for the per-unit TasksMax= setting. See
systemd.resource-control5
for details. This setting applies to all unit types that support resource control settings, with the exception
-- of slice units. Defaults to 15% of the sysctl setting kernel.pid_max= or root cgroup pids.max.
+- of slice units. Defaults to 15% of the minimum of kernel.pid_max=, kernel.threads-max=
+- and root cgroup pids.max.
- Kernel has a default value for kernel.pid_max= and an algorithm of counting in case of more than 32 cores.
- For example with the default kernel.pid_max=, DefaultTasksMax= defaults to 4915,
- but might be greater in other systems or smaller in OS containers.
+ of slice units. Defaults to 100%.
-
+
diff --git a/src/basic/cgroup-util.h b/src/basic/cgroup-util.h
index bdc0d0d086..345a99aa5c 100644
@@ -36,7 +37,7 @@ index bdc0d0d086..345a99aa5c 100644
@@ -129,6 +129,10 @@ static inline bool CGROUP_BLKIO_WEIGHT_IS_OK(uint64_t x) {
(x >= CGROUP_BLKIO_WEIGHT_MIN && x <= CGROUP_BLKIO_WEIGHT_MAX);
}
-
+
+/* Default resource limits */
+#define DEFAULT_TASKS_MAX_PERCENTAGE 100U /* 100% of PIDs */
+#define DEFAULT_USER_TASKS_MAX_PERCENTAGE 33U /* 33% of PIDs, 10813 on default settings */
@@ -57,6 +58,6 @@ index 40bb548887..c6cddf4f79 100644
#DefaultLimitCPU=
#DefaultLimitFSIZE=
#DefaultLimitDATA=
---
+--
2.26.2
diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/systemd-247.2.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/systemd-247.3.ebuild
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/systemd-247.2.ebuild
rename to sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/systemd-247.3.ebuild