怎么能学好云核算技能 怎么解决Linux体系毛病
本文摘要: 怎么能学好?怎么解决Linux体系毛病?和Linux打交道、在服务器上分析体系功用是每一个Linux运维工程师或云核算开发人员的工作日常,而功能优化被看做是软件体系中最有应战的工作之一,让工作人员很是头疼。下面就为我们共享云核算学习中快速排查线上Linux体

怎么能学好云核算技能 怎么解决Linux体系毛病


怎么能学好?怎么解决Linux体系毛病?和Linux打交道、在服务器上分析体系功用是每一个Linux运维工程师或云核算开发人员的工作日常,而功能优化被看做是软件体系中最有应战的工作之一,让工作人员很是头疼。下面就为我们共享云核算学习中快速排查线上Linux体系毛病的方法。

Linux功能优化是个体系工程,除了要学习那些基础常识点之外,还有2点比较重要:1)把握功能优化的思路和方法,尝试很多Linux性能东西;2)从学习到输出,即不断实践、从实践中总结经历。只有理论常识与实践相结合,你才干把观察到的性能问题跟体系原理关联起来。

线上Linux体系毛病的原因通常包括以下几个方面:

一、CPU使用率过高

一个应用占用CPU很高,除了确实是核算密布型应用之外,通常原因都是呈现了死循环。排查技巧如下:

1)通过top命令定位占用CPU高的进程。比如进程PID41843占用CPU过高,显着存在问题,定位到了进程id。当然假如你想只观察进程PID41843的CPU和内存以及负载状况,能够使用命令:top -p 41843

2)通过top命令定位问题进程中每一个线程占用CPU状况。使用命令:top -p 41843 -H

3)通过jstack 命令定位问题代码。比如发现线程PID41892占用的CPU过高,就将这个PID转化成16进制,其间PID41892转化成16进制为a3a4。使用如下命令命令定位问题代码:jstack 41892 | grep a3a4

二、内存占用过高

在Java开发中,常见的异常及处理办法如下:

java.lang.OutOfMemoryError: PermGen space

异常呈现原因:应用中有很多CLASS的话,就极可能呈现PermGen space过错。WEB或者APP用了很多的第三方jar, 其巨细超过了jvm默许的巨细(4M)就会发生此过错信息。

处理办法:调整PermSize、MaxPermSize的巨细;减少jar重复使用,重复占用内存。

java.lang.OutOfMemoryError: Java heap space

异常呈现原因:在JVM中,假如98%的时间是用于GC且可用的Heap size 不足2%的时分将抛出此反常信息。提示:Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。

异常原因排查过程:

1)通过jstat命令查询gc状况。通过top命令定位到内存占用过高的进程PID后,排查该进程的GC状况,命令:jstat -gccause 41843 2000

2)通过jmap命令查询进程实体类内存占用状况。假如过程1中发现,gc十分频频,则能够使用jmap命令查询进程实体类内存占用状况。命令:jmap -histo:live 41843 | head -n 100

3)通过jmap命令查询进程堆的使用状况。假如以上没有查出问题,可以看看进程中,新生代、老时代、永久代的使用状况。命令:jmap -heap 41843

假如发现频频的gc是因为新生代、老时代、永久代分配的巨细有问题,则可以通过修正设置解决。

永久代处理办法:调整PermSize、MaxPermSize的巨细;减少jar重复使用,重复占用内存。

新生代、老时代处理办法:调整Xms -Xmx -Xmn的巨细。

人在一定程度上是理性动物,好的学习氛围会在一定程度上督促你学习前进。俗语说“选择大于努力,坚持大于聪明”正是如此。假如你想学好,建议选择专业的学习方式。

相关内容