linux内存不足宕机,记一次linux机器内存占用太多导致的服务宕机
背景
最近我们测试环境部署的一个项目总是不停的宕机,之前也有过,但是最近特别频繁
猜测
可能是因为cup或者内存占用太大导致的服务宕机
执行
1.登录linux服务器
2.top命令
下面是对每一行信息的详解
第一行:系统运行时间和平均负载
当前时间、系统已运行时间、当前登录用户的数量、最近5、10、15分钟内的平均负载
第二行:任务
任务的总数、运行中(running)的任务、休眠(sleeping)中的任务、停止(stopped)的任务、僵尸状态(zombie)的任务
第三行:cpu状态字段
字段释义
us
user: 运行(未调整优先级的) 用户进程的CPU时间
sy
system: 运行内核进程的CPU时间
ni
niced:运行已调整优先级的用户进程的CPU时间
id
idle:空闲时间
wa
IO wait: 用于等待IO完成的CPU时间
hi
处理硬件中断的CPU时间
si
处理软件中断的CPU时间
st
这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)
第四行:内存
全部可用内存、已使用内存、空闲内存、缓冲内存
第五行:swap
全部、已使用、空闲和缓冲交换空间
第七行至N行:各进程任务的的状态监控字段
释义
PID
进程ID,进程的唯一标识符
USER
进程所有者的实际用户名
PR
进程的调度优先级。这个字段的一些值是'rt'。这意味这这些进程运行在实时态。
NI
进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级
VIRT
virtual memory usage 虚拟内存,进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量
RES
resident memory usage 常驻内存,驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
SHR
SHR:shared memory 共享内存
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来
S
这个是进程的状态。它有以下不同的值:
D - 不可中断的睡眠态。
R – 运行态
S – 睡眠态
T – 被跟踪或已停止
Z – 僵尸态
%CPU
自从上一次更新时到现在任务所使用的CPU时间百分比。%CPU显示的是进程占用一个核的百分比,而不是整个cpu(N核)的百分比,有时候可能大于100,那是因为该进程启用了多线程占用了多个核心,所以有时候我们看该值得时候会超过100%,但不会超过总核数*100
%MEM
进程使用的可用物理内存百分比
TIME+
任务启动后到现在所使用的全部CPU时间,精确到百分之一秒
COMMAND
运行进程所使用的命令。进程名称(命令名/命令行)
3.从上面的信息中,我们可以看到物理内存已经接近总值了,所以基本可以断定是因为这个原因导致
4.移除其他的几个处于sleep状态的服务,恢复正常
linux内存不足宕机,记一次linux机器内存占用太多导致的服务宕机相关推荐
- Elasticsearch】es 模糊查询导致Elasticsearch服务宕机
本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经允许博主不允许转载. 可以加我问问题,免费解答,有问题可以先私聊我,本人每天都在线,会帮助需要的人. 但是本博主因为某些原因, ...
- 一次region过多导致HBase服务宕机事件
具体情况是,甲方有10个节点的HBase集群,主要业务表共10张,region总数达23000+,平均每台RegionServer(RS)的region数量2300左右,每台RS堆内存配置96G(初始 ...
- close_wait过多服务器无响应,记一次大量CLOSE_WAIT连接导致的服务宕机
最近线上服务出现了一段时间的无法响应,在此总结一下问题的排查过程. 监控信息 监控显示CPU和内存没有异常波动,TCP连接中有大量的CLOSE_WAIT状态的连接. 看一下TCP连接断开的过程: 也就 ...
- n1运行linux,斐讯N1折腾记:运行 Linux 及优化
此教程同样适用于斐讯 P1 咳咳咳,上篇教程教大家给斐讯 N1 降级并且刷了官改系统,可以当作一个电视盒子和下载机来使用. 有些小伙伴可能不想把它当作电视盒子,就想把它当作 NAS 或者是服务器,但是 ...
- oracle 11宕机,Oracle 11.2.0.4.0 RAC下DRM导致单节点宕机
DRM的bug太多,所以建议直接关闭. alert日志: Errors in file /oracle/app/oracle/diag/rdbms/gg/gg1/trace/gg1_lmon_6068 ...
- 转:记一次linux oom内存溢出排查过程
@转:记一次linux oom内存溢出排查过程 记一次linux oom内存溢出排查过程 2018年08月16日 14:13:49 enchanterblue 阅读数 4099更多 分类专栏: --- ...
- linux 查看工程用什么工具,工程师工具包-Linux常用命令及常用操作-持续更新中...
Linux系统命令相关 系统相关 date date 查看系统时间 $date 2017年 09月 18日 星期一 18:01:06 CST date -R查看系统时间,并且在时间后面加上时区的显示 ...
- java 图片 内存溢出_Java修改图片尺寸,总是报内存溢出怎么解决?
项目需求:有很多尺寸很大的图片(图片大小可能几十MB,甚至上百MB),需要等比例缩小它们的尺寸,相当于生成缩略图. 例如:原图8268x6201,需要压缩成400x300. 我现在的方法:将图片整个读 ...
- Linux内存耗尽宕机6,转载:Linux服务器Cache占用过多内存导致系统内存不足最终java应用程序崩溃解决方案...
原文链接: https://blog.csdn.net/u014740338/article/details/66975550 问题描述 Linux内存使用量超过阈值,使得Java应用程序无可用内存, ...
最新文章
- 关于WinForm的博客推荐
- 调用微信高级群发接口--视频群发接口出问题(微信官方文档错误纠正)
- 树莓派 VNC Viewer 远程桌面配置教程
- 提高ipad浏览器下大尺寸xml文件解析的性能
- Liunx 中tr的用法
- SOA面向服务架构——SOA的概念
- WebStorm——cocos2d-html5专用IDE
- php 标点符号,php怎么去除标点符号
- 【南卡樱桃|读书笔记《学习高手》】
- python十折交叉验证
- 量子力学的经典教材_我是亲民_新浪博客
- 广东省取消职称英语和计算机,职称评审!这些省份短期内不会取消职称英语、计算机!...
- svg react_React中的SVG陷阱
- 【word操作】论文页眉页脚设置
- c语言动态与静态分配内存空间的区别
- 给VB.NET开发者的46个忠告
- MySQLdb._exceptions.OperationalError: (1045, “Access denied for user ‘root‘@‘localhost‘ (using passw
- android 不能在子线程中更新ui的讨论和分析
- 2022高考数学第六题,代码实现(怀念以前的时光)
- python浮点型是什么_实例讲解Python中浮点型的基本内容
热门文章
- 数据结构c语言版课设,数据结构课程设计c语言版
- 同步与异步,回调与协程
- Firefox 并未与此网站建立连接,firefox请求一直被警告不安全
- wwise集成到unreal
- Jetson nano 入手系列之4—外围设备:开机键+PWM风扇
- DWZ excel文件导出(全过程)
- 跟着源码一起学:手把手教你用WebSocket打造Web端IM聊天
- html如何遍历读取sd卡的音频,大彩物联型串口屏遍历U盘、SD卡中音频和视频文件操作说明-专业自动化论坛-中国工控网论坛...
- 《自动驾驶技术系列丛书》--第三章 自动驾驶汽车环境感知(5)
- 饥荒steam服务器文档,Steam饥荒专用服务器搭建