diff --git a/OOMAnalyser.html b/OOMAnalyser.html index 3a8d425..ba37db2 100644 --- a/OOMAnalyser.html +++ b/OOMAnalyser.html @@ -780,7 +780,7 @@ window.onerror = function (msg, url, lineNo, columnNo, errorObj) { - Memory Chunks + Available Memory Chunks @@ -940,6 +940,7 @@ window.onerror = function (msg, url, lineNo, columnNo, errorObj) {
  • Fix memory calculation in summary section
  • Fix and rework calculation of GFP flags
  • Add GFP flags for more kernel releases
  • +
  • Display missing memory chunks (buddyinfo) again
  • ...
  • diff --git a/OOMAnalyser.py b/OOMAnalyser.py index e1a2926..9f93fe9 100644 --- a/OOMAnalyser.py +++ b/OOMAnalyser.py @@ -267,8 +267,8 @@ class BaseKernelConfig: r"^ free:(?P\d+) free_pcp:(?P\d+) free_cma:(?P\d+)", True, ), - "Memory node information": ( - r"(^Node \d+ (DMA|Normal|hugepages).*(:?\n))+", + "Available memory chunks": ( + r"(?P(^Node \d+ ((DMA|DMA32|Normal):|(hugepages)).+(\n|$))+)", False, ), "Page cache": ( diff --git a/test.py b/test.py index 37b5c41..d58dc26 100755 --- a/test.py +++ b/test.py @@ -246,6 +246,18 @@ class TestInBrowser(TestBase): "Used swap space in summary not found", ) + mem_node_info = self.driver.find_element(By.CLASS_NAME, "mem_node_info") + self.assertEqual( + mem_node_info.text[:44], + "Node 0 DMA: 0*4kB 0*8kB 0*16kB 0*32kB 2*64kB", + "Unexpected memory chunks", + ) + self.assertEqual( + mem_node_info.text[-80:], + "Node 1 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB", + "Unexpected memory chunks", + ) + head = self.driver.find_element(By.ID, "pstable_header") self.assertTrue( "Page Table Entries" in head.text, @@ -304,6 +316,18 @@ class TestInBrowser(TestBase): "Used physical memory in summary not found", ) + mem_node_info = self.driver.find_element(By.CLASS_NAME, "mem_node_info") + self.assertEqual( + mem_node_info.text[:49], + "Node 0 DMA: 1*4kB (U) 1*8kB (U) 1*16kB (U) 1*32kB", + "Unexpected memory chunks", + ) + self.assertEqual( + mem_node_info.text[-80:], + "Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB", + "Unexpected memory chunks", + ) + head = self.driver.find_element(By.ID, "pstable_header") self.assertTrue( "Page Table Bytes" in head.text,