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

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

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

来源:亿速云

阅读:212

作者:Leah

栏目:云计算

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

67588a409fa459fa471cc64ddb86ec57.png

线上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系统故障和解决方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393845.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vuex 模块化与项目实例 (2.0)

Vuex 强调使用单一状态树,即在一个项目里只有一个 store,这个 store 集中管理了项目中所有的数据以及对数据的操作行为。但是这样带来的问题是 store 可能会非常臃肿庞大不易维护,所以就需要对状态树进行模块化的拆分。 首先贴出一个逻辑比较…

click js自动点击 vue_vue.js2.0点击获取自己的属性和jquery方法

如下所示::data-index"index":dt"index"v-on:click"onclick($event,index)":data-d "JSON.stringify( item)"href"http://www.baidu.com" rel"external nofollow" rel"external nofollow"da…

Python:知识目录

Python目录 第一篇:数据类型部分文件操作 基础数据类型---str 基础数据类型---List 基础数据类型---dict 基础数据类型---set 基础数据类型---bytes 数据类型的总结 文件操作------读,写 文件操作------使用方法 第二章:函数模块 初识函数…

初学者css常见问题_5分钟内学习CSS-初学者教程

初学者css常见问题关于网络设计语言的快速教程。 (A quick tutorial on the design language of the web.) CSS (Cascading Style Sheets) is what makes web pages look good and presentable. It’s an essential part of modern web development and a must-have skill for …

leetcode39. 组合总和(回溯)

给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。 解集不能包含重复的…

一脸懵逼学习基于CentOs的Hadoop集群安装与配置(三台机器跑集群)

1:Hadoop分布式计算平台是由Apache软件基金会开发的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。 注…

linux批量去掉文件名前缀,linux 批量删除某个前缀文件

1. 命令 (参考:https://blog.csdn.net/kl28978113/article/details/80271831)find ./ -name updatesites*-* -exec rm {} \;2. 举例[rootadmin batch-create-sites]# ls2020-02-13-10-10.out logs-2020-04-07-08-00.out updatesites-2020-02-12-01-49-25.xlsx updat…

Docker - 避免启动container后运行shell脚本执行完成后docker退出container

问题 最近在使用 Dockerfile 启动容器,发现使用Dockerfile调用容器里面的shell,当shell执行完成以后,docker会退出容器。 分析 Docker 在执行shell的时候,是在后台执行的;因此,在shell执行完成以后&#xf…

css画横线箭头_用CSS绘制三角形箭头

用CSS绘制三角形箭头。使用纯CSS,你只需要很少的代码就可以创作出各种浏览器都兼容的三角形箭头!CSS代码:/* create an arrow that points up */div.arrow-up {width: 0;height: 0;border-left: 5px solid transparent; /* left arrow slant */border-ri…

Jmeter参数化的理解

jmeter参数化有两种情况: jmeter执行的sql语句中值的参数化(如select过滤条件)csv data set config参数表示方式${zjhm}jmx脚本的设置属性参数化,方便命令行调用时修改参数(如并发量、执行时间)在脚本中调用…

leetcode216. 组合总和 III(回溯)

找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数&#xff0c;并且每种组合中不存在重复的数字。 说明&#xff1a; 所有数字都是正整数。 解集不能包含重复的组合。 示例 1: 输入: k 3, n 7 输出: [[1,2,4]] 代码 class Solution {List<List…

linux内核epub,Android底层开发技术实战详解——内核、移植和驱动(第2版)[EPUB][MOBI][AZW3][42.33MB]...

内容简介本书从底层原理开始讲起&#xff0c;结合真实的案例向读者详细介绍了Android内核、移植和驱动开发的整个流程。全书分为21章&#xff0c;依次讲解驱动移植的必要性&#xff0c; Goldfish、OMAP内核和驱动解析&#xff0c;显示系统、输入系统、振动器系统、音频系统、视…

机器学习岗位太少_太多的东西要学习,很少的时间

机器学习岗位太少by Rick West由里克韦斯特(Rick West) 太多的东西要学习&#xff0c;很少的时间 (So much to learn, so little time) 我学习&#xff0c;保持动力并实现目标的主要技巧 (My top tips for learning, staying motivated, and achieving your goals) One of the…

用9种办法解决 JS 闭包经典面试题之 for 循环取 i

2017-01-06Tomson JavaScript转自 https://segmentfault.com/a/1190000003818163 闭包 1.正确的说,应该是指一个闭包域,每当声明了一个函数,它就产生了一个闭包域(可以解释为每个函数都有自己的函数栈),每个闭包域(Function 对象)都有一个 function scope(不是属性),function s…

bzoj 2296: 【POJ Challenge】随机种子

Time Limit: 1 Sec Memory Limit: 128 MBSec Special JudgeDescription1tthinking除了随机算法&#xff0c;其他什么都不会。但是他还是可以ac很多题目&#xff0c;他用的是什么呢&#xff1f;他会选择一个好的随机种子&#xff0c;然后输出答案。往往他选择的一个好的种子可…

英特尔第十代处理器为什么不支持win7_5GHz动力澎湃 高主频多核处理器成就巅峰玩家...

频率之争永远是处理器领域无法回避的话题。高主频在游戏中所带来的高速运行&#xff0c;稳定帧数等特性永远是玩家们所追求的目标。随着英特尔第十代桌面及移动版酷睿处理器的发布&#xff0c;无论是台式整机或是笔记本平台&#xff0c;都已全面进入了5GHz时代。选择英特尔处理…

leetcode46. 全排列(回溯)

给定一个 没有重复 数字的序列&#xff0c;返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 代码 class Solution {List<List<Integer>> cListnew ArrayList<>();public List<List<…

初级算法-12.反转字符串

题目描述: 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打…

linux python源码目录结构,TensorFlow0.8源码阅读 -- 代码目录结构讲解

TensorFlow0.8发布以来受到了大量机器学习领域爱好者的关注&#xff0c;目前其项目在github上的follow人数在同类项目中排名第一。作为google的第一个开源项目&#xff0c;TensorFlow的源码结构较为清晰&#xff0c;相关的代码注释覆盖较全。本文首先从代码结构入手&#xff0c…

在VirtualBox里复制VDI文件[转]

原文地址:http://blog.sina.com.cn/s/blog_591a2c940100aree.html 在VirtualBox的快速修复界面里&#xff0c;可以随时生成当前状态的备份。当生成了备份之后&#xff0c;会在Snapshots目录下创建一个新的VDI文件&#xff0c;之后对当前状态所做的一切操作都将针对最新的VDI文件…