Show memory watermarks together will all details

This commit is contained in:
Carsten Grohmann 2023-03-23 21:44:39 +01:00
parent 436d0b3298
commit bd3085c667
3 changed files with 43 additions and 2 deletions

View File

@ -919,6 +919,18 @@ window.onerror = function (msg, url, lineNo, columnNo, errorObj) {
</td> </td>
</tr> </tr>
<!-- Memory watermarks -->
<tr>
<th colspan="3" scope="row">Memory Watermarks </th>
</tr>
<tr>
<td></td>
<td class="terminal" colspan="2">
<pre class="mem_watermarks"></pre>
</td>
</tr>
<tr> <tr>
<th colspan="3" scope="row">Process Table</th> <th colspan="3" scope="row">Process Table</th>
</tr> </tr>
@ -1074,6 +1086,7 @@ window.onerror = function (msg, url, lineNo, columnNo, errorObj) {
<li>Add analysis why the memory request failed</li> <li>Add analysis why the memory request failed</li>
<li>Add check for heavy memory fragmentation</li> <li>Add check for heavy memory fragmentation</li>
<li>Summary of the analysis revised</li> <li>Summary of the analysis revised</li>
<li>Show memory watermarks together will all details</li>
<li>...</li> <li>...</li>
</ol> </ol>

View File

@ -304,6 +304,10 @@ class BaseKernelConfig:
r"(?P<mem_node_info>(^Node \d+ ((DMA|DMA32|Normal):|(hugepages)).+(\n|$))+)", r"(?P<mem_node_info>(^Node \d+ ((DMA|DMA32|Normal):|(hugepages)).+(\n|$))+)",
False, False,
), ),
"Memory watermarks": (
r"(?P<mem_watermarks>(^(Node \d+ (DMA|DMA32|Normal) free:|lowmem_reserve\[\]:).+(\n|$))+)",
False,
),
"Page cache": ( "Page cache": (
r"^(?P<pagecache_total_pages>\d+) total pagecache pages.*$", r"^(?P<pagecache_total_pages>\d+) total pagecache pages.*$",
True, True,

28
test.py
View File

@ -294,7 +294,19 @@ class TestInBrowser(TestBase):
self.assertEqual( self.assertEqual(
mem_node_info.text[-80:], mem_node_info.text[-80:],
"Node 1 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB", "Node 1 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB",
"Unexpected memory chunks", "Unexpected memory information about hugepages",
)
mem_watermarks = self.driver.find_element(By.CLASS_NAME, "mem_watermarks")
self.assertEqual(
mem_watermarks.text[:51],
"Node 0 DMA free:15872kB min:40kB low:48kB high:60kB",
"Unexpected memory watermarks",
)
self.assertEqual(
mem_watermarks.text[-25:],
"lowmem_reserve[]: 0 0 0 0",
"Unexpected lowmem_reserve values",
) )
head = self.driver.find_element(By.ID, "pstable_header") head = self.driver.find_element(By.ID, "pstable_header")
@ -374,7 +386,19 @@ class TestInBrowser(TestBase):
self.assertEqual( self.assertEqual(
mem_node_info.text[-80:], mem_node_info.text[-80:],
"Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB", "Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB",
"Unexpected memory chunks", "Unexpected memory information about hugepages",
)
mem_watermarks = self.driver.find_element(By.CLASS_NAME, "mem_watermarks")
self.assertEqual(
mem_watermarks.text[:54],
"Node 0 DMA free:15036kB min:352kB low:440kB high:528kB",
"Unexpected memory watermarks",
)
self.assertEqual(
mem_watermarks.text[-27:],
"lowmem_reserve[]: 0 0 0 0 0",
"Unexpected lowmem_reserve values",
) )
head = self.driver.find_element(By.ID, "pstable_header") head = self.driver.find_element(By.ID, "pstable_header")