背景

最近我们测试环境部署的一个项目总是不停的宕机,之前也有过,但是最近特别频繁

猜测

可能是因为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机器内存占用太多导致的服务宕机相关推荐

  1. Elasticsearch】es 模糊查询导致Elasticsearch服务宕机

    本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经允许博主不允许转载. 可以加我问问题,免费解答,有问题可以先私聊我,本人每天都在线,会帮助需要的人. 但是本博主因为某些原因, ...

  2. 一次region过多导致HBase服务宕机事件

    具体情况是,甲方有10个节点的HBase集群,主要业务表共10张,region总数达23000+,平均每台RegionServer(RS)的region数量2300左右,每台RS堆内存配置96G(初始 ...

  3. close_wait过多服务器无响应,记一次大量CLOSE_WAIT连接导致的服务宕机

    最近线上服务出现了一段时间的无法响应,在此总结一下问题的排查过程. 监控信息 监控显示CPU和内存没有异常波动,TCP连接中有大量的CLOSE_WAIT状态的连接. 看一下TCP连接断开的过程: 也就 ...

  4. n1运行linux,斐讯N1折腾记:运行 Linux 及优化

    此教程同样适用于斐讯 P1 咳咳咳,上篇教程教大家给斐讯 N1 降级并且刷了官改系统,可以当作一个电视盒子和下载机来使用. 有些小伙伴可能不想把它当作电视盒子,就想把它当作 NAS 或者是服务器,但是 ...

  5. 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 ...

  6. 转:记一次linux oom内存溢出排查过程

    @转:记一次linux oom内存溢出排查过程 记一次linux oom内存溢出排查过程 2018年08月16日 14:13:49 enchanterblue 阅读数 4099更多 分类专栏: --- ...

  7. linux 查看工程用什么工具,工程师工具包-Linux常用命令及常用操作-持续更新中...

    Linux系统命令相关 系统相关 date date 查看系统时间 $date 2017年 09月 18日 星期一 18:01:06 CST date -R查看系统时间,并且在时间后面加上时区的显示 ...

  8. java 图片 内存溢出_Java修改图片尺寸,总是报内存溢出怎么解决?

    项目需求:有很多尺寸很大的图片(图片大小可能几十MB,甚至上百MB),需要等比例缩小它们的尺寸,相当于生成缩略图. 例如:原图8268x6201,需要压缩成400x300. 我现在的方法:将图片整个读 ...

  9. Linux内存耗尽宕机6,转载:Linux服务器Cache占用过多内存导致系统内存不足最终java应用程序崩溃解决方案...

    原文链接: https://blog.csdn.net/u014740338/article/details/66975550 问题描述 Linux内存使用量超过阈值,使得Java应用程序无可用内存, ...

最新文章

  1. 关于WinForm的博客推荐
  2. 调用微信高级群发接口--视频群发接口出问题(微信官方文档错误纠正)
  3. 树莓派 VNC Viewer 远程桌面配置教程
  4. 提高ipad浏览器下大尺寸xml文件解析的性能
  5. Liunx 中tr的用法
  6. SOA面向服务架构——SOA的概念
  7. WebStorm——cocos2d-html5专用IDE
  8. php 标点符号,php怎么去除标点符号
  9. 【南卡樱桃|读书笔记《学习高手》】
  10. python十折交叉验证
  11. 量子力学的经典教材_我是亲民_新浪博客
  12. 广东省取消职称英语和计算机,职称评审!这些省份短期内不会取消职称英语、计算机!...
  13. svg react_React中的SVG陷阱
  14. 【word操作】论文页眉页脚设置
  15. c语言动态与静态分配内存空间的区别
  16. 给VB.NET开发者的46个忠告
  17. MySQLdb._exceptions.OperationalError: (1045, “Access denied for user ‘root‘@‘localhost‘ (using passw
  18. android 不能在子线程中更新ui的讨论和分析
  19. 2022高考数学第六题,代码实现(怀念以前的时光)
  20. python浮点型是什么_实例讲解Python中浮点型的基本内容

热门文章

  1. 数据结构c语言版课设,数据结构课程设计c语言版
  2. 同步与异步,回调与协程
  3. Firefox 并未与此网站建立连接,firefox请求一直被警告不安全
  4. wwise集成到unreal
  5. Jetson nano 入手系列之4—外围设备:开机键+PWM风扇
  6. DWZ excel文件导出(全过程)
  7. 跟着源码一起学:手把手教你用WebSocket打造Web端IM聊天
  8. html如何遍历读取sd卡的音频,大彩物联型串口屏遍历U盘、SD卡中音频和视频文件操作说明-专业自动化论坛-中国工控网论坛...
  9. 《自动驾驶技术系列丛书》--第三章 自动驾驶汽车环境感知(5)
  10. 饥荒steam服务器文档,Steam饥荒专用服务器搭建