Red Hat and Fedora Leftovers
-
Fedora Project ☛ Fedora Community Blog: Infra and RelEng Update – Week 29 2024
This is a weekly report from the I&R (Infrastructure & Release Engineering) Team. It also contains updates for CPE (Community Platform Engineering) Team as the CPE initiatives are in most cases tied to I&R work.
We provide you both an infographic and text version of the weekly report. If you just want to quickly look at what we did, just look at the infographic. If you are interested in more in-depth details look below the infographic.
-
Remi Collet ☛ Remi Collet: PHP version 8.2.22RC1 and 8.3.10RC1
Release Candidate versions are available in the testing repository for Fedora and Enterprise Linux (RHEL / CentOS / Alma / Rocky and other clones) to allow more people to test them. They are available as Software Collections, for a parallel installation, the perfect solution for such tests, and also as base packages.
RPMs of PHP version 8.3.10RC1 are available
- as base packages in the remi-modular-test for Fedora 38-40 and Enterprise Linux ≥ 8
-
Red Hat ☛ Metaspace setting and tuning in JDK 8+ Applications (in and outside containers)
Since JDK 8, including upper versions, Metaspace has been set apart from the main heap section of memory and set via
MetaspaceSize
andMaxMetaspace
flags. Objectively, this means metadata of loading classes in Java are set in the non-heap region also known as the native region of the memory (again, not inside the heap).This Metaspace region is a change from previous versions, which had Java Metaspace as part of the heap in the so-called "Permanent Generation" and was set using the Java Virtual Machine (JVM) flag:
PermSize
andMaxPermSize
.Although this discussion is very well settled, this article aims to review Metaspace, its tuning, and the consequences for container and non-container usage. It also adds troubleshooting steps in case those are needed.
Metaspace explanation
As briefly mentioned above, Metaspace was introduced on JDK 8+, therefore, in the case of
OutOfMemory
Exception, changed from theJava.Lang.OutOfMemoryError: PermGen
toOutOfMemoryError: Metaspace
. Consequently, this is the first indication that the Java version is being used above JDK 7.Metaspace does not occupy the heap region but rather the native space of the JVM, so it is not bounded by the
Xmx
setting.Metaspace will allocate regions of memory in the so-called metaspace chunks, or
metachunks
inside the Virtual Spaces, which are areas of contiguous address space provided by the OS. This allocation is done on demand. More information in this solution: How does the JVM divide the Metaspace in the memory?Also in that solution, it is explained that in JDK 11, the
VM.metaspace
option was introduced in Java diagnostics, which provides complete detailed information about Metaspace, including the chunks, the size, theInitialBootClassLoaderMetaspaceSize
,UseCompressedClassPointers
, andCompressedClassSpaceSize
. Also, detailed information on the chunks: [...]
The packages are available for x86_64 and aarch64.
PHP version 8.1 is now in security mode only, so no more RC will be released.