这就是场景,-它主要是一个Java应用程序,堆转储和线程转储对我没有帮助。也许我分析它并不明智。
观察结果 1) 似乎使用了大量内存。
[maddipp1@pacoa13l ~] $ cat /proc/meminfo
MemTotal: 65807504 kB
MemFree: 4890688 kB
观察 2) CPU 使用率很高。
摘录自 top 命令,-
id - 所有主机中空闲操作所花费的时间也很长。
94.8 id - pacoa12l.unix.anz
81.4 id - pacoa13l.unix.anz
98.2 id - pacoa06l.unix.anz
总的来说,我们基于 Java 的 Web 应用程序很糟糕,因为打开网页需要花费更多时间。我想知道使用任何基于 Linux 的命令或设置我可以处理这种情况。我无法指挥设计模式或应用程序的设计方式,我有 L3 支持,所以我期待解决方案,虽然我们给出了某些建议,但根本没有任何改进。请指导我考虑运行并消耗 cpu/内存的基于 Linux 的应用程序
那么,如何在 Linux 中使用 CPU 和内存密集型应用程序呢?
除了它是一个基于java的应用程序之外,它还使用数据库,并且它是Oracle DB。我们AWR Report
显示其中之一order by clause
-query
使用执行时间,超过 32 秒,并且该查询有多个inner join(s)
并且outer join(s)
关于AWR Report
我从以下位置获取此 PDF 文档IBM
-https://www.ibm.com/downloads/cas/WNK5D2QZ
请建议我将采取什么措施来解决这个问题。
评论 :-
你有交换吗?
free
会告诉你的。如果没有,您需要 1xRAM 到 2xRAM。交换空间必须是连续的,而不是碎片化的。读man mkswap fallocate filefrag swapon fstab.
1xRAM 和 2xRAM 意味着,- 我是否应该增加 Linux 机器中的物理 RAM 大小?
这是交换详细信息,
SwapTotal: 5242876 kB
SwapFree: 5016828 kB
对此请指教