常见Linux系统故障和解决方法

发布时间:2020-06-06 14:48:19

来源:亿速云

阅读:212

作者:Leah

栏目:云计算

这篇文章给大家分享的是常见的Linux系统故障和解决方法。在使用系统的过程中总会有各种各样的故障,所以需要不断的排查故障,为此分享给大家做个参考,一起来看看系统故障的原因以及解决方法。

线上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的大小。

关于常见Linux系统故障和解决方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

linux系统报警怎么办,常见Linux系统故障和解决方法相关推荐

  1. Linux系统centos7+VMwareWorkstation创建共享文件夹错误解决方法集锦

    Linux系统centos7+VMwareWorkstation创建共享文件夹错误解决方法集锦 参考文章: (1)Linux系统centos7+VMwareWorkstation创建共享文件夹错误解决 ...

  2. linux系统找不到网卡配置文件,Linux系统Centos没有网卡eth0配置文件的解决方法

    Linux系统Centos没有网卡eth0配置文件的解决方法 大家都知道linux系统一般作为服务器来用,而且很多情况的设置都是需要通过字符界面修改配置文件来设置.比如说配置网卡IP是修改/etc下面 ...

  3. 嵌入式LINUX新手问题大全——常见错误已及解决方法

    前言 这里是在群里整理的同学们遇到的问题,有错和问题的情况下希望大家提出来发 [url=mailto:邮件至 1402284892@qq.com]邮件至 1402284892@qq.com[/url] ...

  4. linux终端登录qq,在deepin linux系统下qq无法快速登陆的解决方法

    如果遇到qq无法快速登陆的问题,请用下面的解决方法处理,操作系统平台是deepin linux,浏览器是google chrome.其它的linux发行版可参考,所解决的思路大致一样. 解决deepi ...

  5. linux命令不能打中文,在Linux系统下Dia无法输入中文的解决方法

    以下解决在Linux Dia中无法用输入法输入中文的问题.在Linux系统下画图软件有很多,但是很多人反应Dia最好,因为它素材很丰富,操作又很简单,如果不是要求太高都能满足需求,在Ubuntu系统或 ...

  6. Linux系统查看不到IP地址的解决方法(虚拟机)

    正常情况下,在Linux虚拟机中执行ifconfig或ip addr命令是可以查看到IP地址的,如下图: 但我在查看的时候,一直查看不到,在ens33中既没有inet addr,也没有inet6 ad ...

  7. linux tomcat8 启动慢,Linux系统下Tomcat8启动速度很慢的解决方法

    前言 最近在工作中遇到一个问题,在Linux下Tomcat 8启动很慢,且日志上无任何错误,在日志中查看到如下信息: Log4j:[2017-08-2715:47:11] INFO ReadPrope ...

  8. linux自动断开会话,Linux系统SSH连接自动断开问题的解决方法

    当用SSH Secure Shell连接Linux时,如果几分钟没有任何操作,连接就会断开,必须重新登陆才行,每次都重复相同的操作,很是烦人,本文总结了两种解决的方法. 方法1:更改ssh服务器的配置 ...

  9. linux下ora-12505,linux系统oracle数据库出现ora12505问题的解决方法

    说明:(1)Linux版本 Linux version 2.6.32.12-0.7-default (geeko@buildhost) (gcc version 4.3.4 [gcc-4_3-bran ...

最新文章

  1. 程序分析工具gprof介绍
  2. STL——内存基本处理工具
  3. Java IO流面试题
  4. VTK:模型之Delaunay3DDemo
  5. UVA10369 Arctic Network
  6. Java计算时间差_传统的SimpleDateFormat类
  7. 电脑数据存储工具----光盘驱动器
  8. 如何使用QoS管理分配存储IOPS?
  9. Java记录 -4- 运算符 Operator
  10. MSRCR(Multi-Scale Retinex with Color Restore)
  11. windows MYSQL 安装及修改root密码
  12. jq中获取属性名的方法
  13. python大数据在汽车销售中的数据分析与研究
  14. 差分管电路图_最简单的单差分OCL功放电路图(四款单差分OCL功放电路设计原理图详解)...
  15. iPhone se2如何实现快充?
  16. ARM嵌入式——堆栈寻址
  17. vs修改项目属性无效的原因
  18. 初识R语言之常见符号篇
  19. python特征提取方法_大师兄的Python机器学习笔记:特征提取
  20. 2015-2016-1 《信息安全系统设计基础》学生博客列表

热门文章

  1. 小扎不哭!FB又陷数据泄露风波,9000万用户受影响
  2. 云计算时代企业内部IT人员的新定位
  3. 交换机应用之端口模式(access、trunk和hybird)、是否标记(tag、untag)、端口缺省vlan(pvid、native id)...
  4. C#面向对象基础(六) 继承
  5. KNN 算法--图像分类算法
  6. leetcode347. 前 K 个高频元素(排序)
  7. leetcode1451. 重新排列句子中的单词(排序)
  8. sql注入语句示例大全_SQL Order By语句:示例语法
  9. 自动化yaml文件_从YAML到TypeScript:开发人员对云自动化的看法
  10. 回复邮件时如何不要邮件头_如何为阅读,点击和回复率达到100%的CEO设计一封冷邮件...