Add a textual summary of the analysis
This commit is contained in:
parent
a8344d3656
commit
5b384a4d8f
@ -22,6 +22,13 @@
|
||||
content: " pages";
|
||||
}
|
||||
|
||||
.text--append-suffix-percent {
|
||||
text-align: right;
|
||||
}
|
||||
.text--append-suffix-percent::after {
|
||||
content: "%";
|
||||
}
|
||||
|
||||
.text--align-right {
|
||||
text-align: right;
|
||||
}
|
||||
@ -179,11 +186,52 @@ function goBack() {
|
||||
<div class="js-text--default-hide js-text--display-none" id="analysis">
|
||||
|
||||
<h2 id="step2">Step 2 - Results</h2>
|
||||
|
||||
<p>
|
||||
Go back to
|
||||
<a href="javascript:void(0);" onclick="OOMAnalyser.OOMDisplayInstance.reset_form()" title="Run a new analysis">"Step 1 - Enter your OOM message"</a>
|
||||
to run a new analysis.
|
||||
</p>
|
||||
|
||||
<h3>Summary</h3>
|
||||
<div id="explanation">
|
||||
<p>
|
||||
The process "<span id="explain_trigger_proc_name"></span>" (pid <span id="explain_trigger_proc_pid"></span>)
|
||||
requested <span class="text--append-suffix-kbytes" id="explain_trigger_proc_requested_memory_kbytes"></span>
|
||||
(<span class="text--append-suffix-pages" id="explain_trigger_proc_requested_memory"></span>) memory.
|
||||
|
||||
The system couldn't satisfy this request and started the OOM killer to free memory. The OOM killer
|
||||
calculates a score for each process and terminates the process with the highest score.
|
||||
|
||||
The it terminates "<span id="explain_killed_proc_name"></span>" (pid
|
||||
<span id="explain_killed_proc_pid"></span>) to satisfy the initial memory request.
|
||||
</p>
|
||||
<p>
|
||||
The terminated process uses <span class="text--append-suffix-kbytes" id="explain_killed_proc_rss_kb"></span>
|
||||
(<span class="text--append-suffix-percent" id="explain_killed_proc_rss_percent"></span>) resident memory.
|
||||
These values are the sum of resident anonymous memory (anon-rss) and resident file mapping memory
|
||||
(file-rss). Resident shared memory
|
||||
(<span class="text--append-suffix-kbytes" id="explain_killed_proc_shmem_rss_kb"></span>) is ignored in
|
||||
this calculation.
|
||||
<p>
|
||||
The system has <span class="text--append-suffix-kbytes" id="explain_ram_kb"></span>
|
||||
(<span class="text--append-suffix-pages" id="explain_ram_pages"></span> *
|
||||
<span class="text--append-suffix-kbytes" id="explain_page_size"></span>)
|
||||
physical memory and <span class="text--append-suffix-kbytes" id="explain_swap_total_kb"></span> swap space.
|
||||
That's <span class="text--append-suffix-kbytes" id="explain_total_memory_kb"></span> total.
|
||||
</p>
|
||||
<!--
|
||||
<p>
|
||||
<span class="text--append-suffix-kbytes" id="explain_used_memory_kb"></span>
|
||||
(<span class="text--append-suffix-percent" id="explain_used_memory_percent"></span>) of the physical memory
|
||||
and <span class="text--append-suffix-kbytes" id="explain_swap_used_kb"></span>
|
||||
(<span class="text--append-suffix-percent" id="explain_swap_used_percent"></span>) of the swap space
|
||||
were used used when the OOM killer has been invoked.
|
||||
</p>
|
||||
-->
|
||||
</div>
|
||||
|
||||
<h3>Details of analysis</h3>
|
||||
<p>
|
||||
The result of the analysis is displayed in three columns. The first column is used to name the property
|
||||
including the original OOM identifier in brackets. The extracted information is displayed in the second column.
|
||||
@ -651,6 +699,7 @@ function goBack() {
|
||||
|
||||
<h4>General</h4>
|
||||
<ol>
|
||||
<li>Add a textual summary of the analysis</li>
|
||||
<li>...</li>
|
||||
</ol>
|
||||
|
||||
|
@ -1061,9 +1061,36 @@ Killed process 6576 (java) total-vm:33914892kB, anon-rss:20629004kB, file-rss:0k
|
||||
hide_element('input')
|
||||
show_element('analysis')
|
||||
|
||||
# copy entries for explanation section
|
||||
for i in ('killed_proc_name', 'killed_proc_pid', 'killed_proc_shmem_rss_kb', 'page_size', 'ram_pages',
|
||||
'swap_total_kb', 'swap_used_kb', 'trigger_proc_name', 'trigger_proc_pid',
|
||||
'trigger_proc_requested_memory', 'trigger_proc_requested_memory_kbytes',
|
||||
):
|
||||
self.oom_details['explain_'+i] = self.oom_details.get(i)
|
||||
|
||||
# calculate remaining explanation values
|
||||
self.oom_details['explain_ram_kb'] = self.oom_details['ram_pages'] * self.oom_details['page_size']
|
||||
|
||||
|
||||
self.oom_details['explain_killed_proc_rss_kb'] = self.oom_details['killed_proc_anon_rss_kb'] + \
|
||||
self.oom_details['killed_proc_file_rss_kb']
|
||||
self.oom_details['explain_killed_proc_rss_percent'] = int(100 *
|
||||
self.oom_details['explain_killed_proc_rss_kb'] /
|
||||
self.oom_details['explain_ram_kb'])
|
||||
|
||||
self.oom_details['explain_total_memory_kb'] = self.oom_details['explain_ram_kb'] + \
|
||||
self.oom_details['swap_total_kb']
|
||||
|
||||
# self.oom_details['explain_used_memory_kb'] = 42
|
||||
# self.oom_details['explain_used_memory_percent'] = 42
|
||||
# self.oom_details['explain_swap_used_percent'] = int(100 *
|
||||
# self.oom_details['swap_used_kb'] /
|
||||
# self.oom_details['swap_total_kb'])
|
||||
|
||||
for item in self.oom_details.keys():
|
||||
self._set_single_item(item)
|
||||
|
||||
# generate swap usage diagram
|
||||
svg_swap = self.svg_generate_bar_chart(
|
||||
('Swap Used', self.oom_details['swap_used_kb']),
|
||||
('Swap Free', self.oom_details['swap_free_kb']),
|
||||
@ -1072,6 +1099,7 @@ Killed process 6576 (java) total-vm:33914892kB, anon-rss:20629004kB, file-rss:0k
|
||||
elem_svg_swap = document.getElementById('svg_swap')
|
||||
elem_svg_swap.appendChild(svg_swap)
|
||||
|
||||
# generate RAM usage diagram
|
||||
svg_ram = self.svg_generate_bar_chart(
|
||||
('Active mem', self.oom_details['active_anon_pages']),
|
||||
('Inactive mem', self.oom_details['inactive_anon_pages']),
|
||||
|
Loading…
Reference in New Issue
Block a user