~carstengrohmann/OOMAnalyser

2a142c1b10959e01e9ec4752cbfeb8453b0fee44 — Carsten Grohmann 2 months ago 0109cf3
Add more platforms to the determination list
2 files changed, 22 insertions(+), 6 deletions(-)

M OOMAnalyser.html
M OOMAnalyser.py
M OOMAnalyser.html => OOMAnalyser.html +1 -0
@@ 1183,6 1183,7 @@ window.onerror = function (msg, url, lineNo, columnNo, errorObj) {
    <h4>General</h4>
    <ol>
        <li>Extend platform determination for amd64 Debian/Ubuntu kernels (Moritz Schlarb)</li>
        <li>Add more platforms to the determination list</li>
        <li>...</li>
    </ol>


M OOMAnalyser.py => OOMAnalyser.py +21 -6
@@ 537,6 537,18 @@ class BaseKernelConfig:
    Requests with order > PAGE_ALLOC_COSTLY_ORDER will never trigger the OOM-killer to satisfy the request.
    """

    PLATFORM_DESCRIPTION = (
        ("x86_64", "x86 64-bit"),
        ("aarch64", "ARM 64-bit"),
        ("arm64", "ARM 64-bit"),
        ("armv8", "ARM 64-bit"),
        ("i386", "x86 32-bit"),
        ("i686", "x86 32-bit (6th generation)"),
    )
    """
    Brief description of some platforms based on an identifier
    """

    pstable_html = [
        "PID",
        "UID",


@@ 3695,12 3707,14 @@ class OOMAnalyser:
    def _determinate_platform_and_distribution(self):
        """Determinate platform and distribution"""
        kernel_version = self.oom_result.details.get("kernel_version", "")
        if "x86_64" in kernel_version or "amd64" in kernel_version:
            platform = "x86 64bit"
        else:
            platform = "unknown"

        dist = "unknown"
        platform = "unknown"

        for identifier, desc in self.oom_result.kconfig.PLATFORM_DESCRIPTION:
            if identifier in kernel_version:
                platform = desc
                break

        if ".el7uek" in kernel_version:
            dist = "Oracle Linux 7 (Unbreakable Enterprise Kernel)"
        elif ".el7" in kernel_version:


@@ 3710,8 3724,9 @@ class OOMAnalyser:
        elif ".el5" in kernel_version:
            dist = "RHEL 5/CentOS 5"
        elif "ARCH" in kernel_version or "-arch" in kernel_version:
            # ArchLinux has not platform identifier in the kernel version
            dist = "Arch Linux"
            platform = "x86 64bit"
            platform = "x86 64-bit"
        elif "-generic" in kernel_version:
            dist = "Ubuntu"
        self.oom_result.details["dist"] = dist