美文网首页
线上一台centos服务器 CPU飙升至90以上。

线上一台centos服务器 CPU飙升至90以上。

作者: 许俊贤 | 来源:发表于2018-12-05 23:29 被阅读0次

Swap引起的CPU飙升至90+。

现象:应用响应速度很慢,以及最直接的影响服务器无法通过SSH连接、SSH连接时响应速度很慢

排查

通过top查看进程信息

image.png image.png

通过监控进程信息,大概能分析出:

因java应用程序占用CPU以及内存耗费较高,触发kswadp0进程(管理linux管理内存的进程)因该进程优先级较高,且占用极高得CPU资源,WEB程序故无法得到响应,同时无法通过CRT远程连接上服务器,通过阿里云网页版的远程连接,可连接上,但卡顿无法执行其他操作。

kswapd0是什么?

kswapd0进程的作用:它是虚拟内存管理中,负责换页的,操作系统每过一定时间就会唤醒kswapd ,看看内存是否紧张,如果不紧张,则睡眠,在 kswapd 中,有2 个阀值,pages_hige 和 pages_low,当空闲内存页的数量低于 pages_low的时候,kswapd进程就会扫描内存并且每次释放出32 个free pages,直到 free page 的数量到达pages_high。

physical mem 不足,引起 swap 频繁读写。
kswapd0 是系统的虚拟内存管理程序,如果物理内存不够用,系统就会唤醒 kswapd0 进程,由 kswapd0 分配磁盘交换空间作缓存,因而占用大量的 CPU 资源。
查看内存及swap使用率:发现还有空余的内存,但是已经开始用swap了。

处置方式

调整内存参数,当内存使用率不足10%(开始是默认值60)时在使用swap,尽量避免使用swap,减少唤醒软中断进程,从而降低ksoftirqd进程对cpu的占用。

先查看:

sysctl vm.swappiness

默认应该查看到 vm.swappiness = 0 ;

设置虚拟内存不足10%时才调用

sysctl vm.swappiness = 10

备注:个人博客同步至简书。

相关文章

  • 线上一台centos服务器 CPU飙升至90以上。

    Swap引起的CPU飙升至90+。 现象:应用响应速度很慢,以及最直接的影响服务器无法通过SSH连接、SSH连接时...

  • 解决挖矿病毒的经历

    线上一台服务器,CPU高达90%以上,经过top 分析出进程kdevtmpfsikill -9 杀死进程无果,很快...

  • Java 演示生产环境 cpu 飙高及排查思路

    Java 演示生产环境 cpu 飙高及排查思路 环境信息 生产环境模拟服务器:阿里云 Centos7 服务器安装 ...

  • onlyoffice

    1. 安装前准备 一台linux 3.10以上版本的服务器(centos debian ubuntu等),本次安装...

  • 线上环境CPU使用飙升

    故事开始:线上部署服务3个小时后,收到服务器报警,CPU使用率达到90%。问题定位:登录线上服务器后1.使用top...

  • JVM CPU高问题排查

    好好地码代码呢,突然接到线上的告警,说是CPU飙高。然后就稀里哗啦的连上线上的服务器,使用top命令查看了一下CP...

  • 排查线上CPU飙高

    1、本案例的排查过程使用的阿里开源的Arthas工具进行的,不使用arthas,使用JDK自带的命令也是可以。 2...

  • 通过jstack与jmap分析一次线上故障

    有一次线上发现一个很奇怪的事情,有一个应用是2台负载均衡处理, 但是一台机器cpu飙高的 800%多,另一台很正常...

  • 一 jvm 问题分析--cpu过高分析, jstack使用

    问题描述 压测一台服务器,cpu一直飙高,排查问题线程 运维环境 k8s,java服务 步骤 首先登陆虚机,查看k...

  • 日志收集系统 - 前奏

    背景 发现线上BUG,解决步骤: 登陆线上服务器,查看线上服务器日志(服务器是集群,可能要一台一台登陆) 数以万计...

网友评论

      本文标题:线上一台centos服务器 CPU飙升至90以上。

      本文链接:https://www.haomeiwen.com/subject/lvigcqtx.html