WordPress极简博客 WordPress极简博客
  • 新鲜事
  • 战疫情
  • UI素材
    • UI素材
    • 电商/节日
    • PPT
      • 节日庆典
      • 工作汇报
      • 商业计划书
    • word
      • 简历竞聘
      • 合同/公文
  • 创客头条
    • 音乐分享
    • 初创文章
    • 极客头条
    • 生活趣事
    • 生活日记
    • 防骗指南
  • 编程教学
    • API日记
    • Linux安全栏目
      • Linux运维安全汇总
      • DDOS攻击防护
      • XSS攻击防护
      • SQL安全防护
    • Python技术栏目
      • Python基础入门
      • Python基础结构
    • WordPress技术栏目
      • WP主题
      • WordPress技术教程
      • RIPRO主题美化
    • WordPress漏洞发布
    • 技术教程汇总
    • 严选源码
  • 专题
  • 基友
  • 隐私
  • 注册
    登录
立即登录
  • 首页
  • 云优化
  • 新疫情
  • 新鲜事
    • 热文
    • 极客
    • 生活
  • 技术篇
    • WP主题
    • 技术教程
    • Python入门
    • Python基础
  • 专题篇
  • 友链君
首页 技术教程(干货) Linux 实例:CPU 或内存占用率高导致无法登录

Linux 实例:CPU 或内存占用率高导致无法登录

夏柔 5月 24, 2020

可能原因

CPU 或内存使用率过高,容易引起服务响应速度变慢、服务器登录不上等问题。而引起 CPU 或内存使用率过高的原因可能由硬件因素、系统进程、业务进程或者木马病毒等因素导致。

定位工具

Top:Linux 系统下常用的监控工具,用于实时获取进程级别的 CPU 或内存使用情况。以下图 top 命令的输出信息为例。

Linux 实例:CPU 或内存占用率高导致无法登录-WordPress极简博客
客户的服务器 节点:美国 接入商:腾讯云

Top 命令的输出信息主要分为两部分,上半部分显示 CPU 和内存资源的总体使用情况:

  • 第一行:系统当前时间,当前登录用户个数以及系统负载。
  • 第二行:系统总进程数、运行中进程数、休眠、睡眠和僵尸进程数量。
  • 第三行:CPU 当前使用情况。
  • 第四行:内存当前使用情况。
  • 第五行:Swap 空间当前使用情况。

下半部分以进程为维度显示资源的占用情况:

  • PID:进程 ID。
  • USER:进程所有者。
  • PR:进程优先级 NI:NICE 值,NICE 值越小,优先级越高。
  • VIRT:使用的虚拟内存大小,单位 KB。
  • RES:当前使用的内存大小,单位 KB。
  • SHR:使用的共享内存的大小,单位 KB。
  • S:进程状态。
  • %CPU:更新时间间隔内进程所使用的 CPU 时间的百分比。
  • %MEM:更新时间间隔内进程所使用的内存的百分比。
  • TIME+:进程使用的 CPU 时间,精确到 0.01s。
  • COMMAND:进程名称。

查看进程占用情况

执行以下命令,查看系统负载,并根据 %CPU 列与 %MEM 列,确定占用较多资源的进程。

top

分析进程

根据任务管理器中的进程,分析与排查问题,以采取对应解决方案。

  • 如果是业务进程占用了大量 CPU 或内存资源,建议分析业务程序是否有优化空间,进行优化或者 升级服务器配置。
  • 如果是异常进程占用了大量 CPU 或内存资源,则实例可能中毒,您可以自行终止进程或者使用安全软件进行查杀,必要时考虑备份数据,重装系统。
  • 如果是腾讯云组件进程占用了大量 CPU 或内存资源,请 提交工单 联系服务器商进行进一步定位处理。

终止进程

  1. 根据分析的占用资源的进程情况,记录需要终止的进程 PID。
  2. 输入 k。
  3. 输入需要终止进程的 PID ,按 Enter。如下图所示:
    此处以终止 PID 为23的进程为例。
Linux 实例:CPU 或内存占用率高导致无法登录-WordPress极简博客
腾讯云的图片 转载
  1. 注意:若按 Enter 后出现 kill PID 23 with signal [15]:,则继续按 Enter 保持默认设定即可。
  2. 操作成功后,界面会出现Send pid 23 signal [15/sigterm] 的提示信息,按 Enter 确认即可。

其它相关故障

CPU 空闲但高负载情况处理

问题描述

Load average 是 CPU 负载的评估,其值越高,说明其任务队列越长,处于等待执行的任务越多。
通过 top 观察,类似如下图所示,CPU 很空闲,但是 load average 却非常高。
Linux 实例:CPU 或内存占用率高导致无法登录-WordPress极简博客

处理办法

执行以下命令,查看进程状态,并检查是否存在 D 状态进程。如下图所示:

ps -axjf
Linux 实例:CPU 或内存占用率高导致无法登录-WordPress极简博客

说明:

D 状态指不可中断的睡眠状态。该状态进程无法被杀死,也无法自行退出。

若出现较多 D 状态进程,可通过恢复该进程依赖资源或重启系统进行解决。

Kswapd0 进程占用 CPU 较高处理

问题描述

Linux 系统通过分页机制管理内存的同时,将磁盘的一部分划出来作为虚拟内存。而 kswapd0 是 Linux 系统虚拟内存管理中负责换页的进程。当系统内存不足时,kswapd0 会频繁的进行换页操作。换页操作非常消耗 CPU 资源,导致该进程持续占用高 CPU 资源。

处理办法

  1. 执行以下命令,找到 kswapd0 进程。top
  2. 观察 kswapd0 进程状态。
    若持续处于非睡眠状态,且运行时间较长并持续占用较高 CPU 资源,请执行 步骤3,查看内存的占用情况。
  3. 执行 vmstat ,free,ps 等指令,查询系统内进程的内存占用情况。
    根据内存占用情况,重启系统或终止不需要且安全的进程。如果 si,so 的值也比较高,则表示系统存在频繁的换页操作,当前系统的物理内存已经不能满足您的需要,请考虑升级系统内存。
1
等 1 人赞过
J2dcg1.png
猜你喜欢
  • Nginx添加跨域限制规则
  • 使用测速脚本对国内Linux服务器进行测速
  • 域名爆破之自动化信息收集脚本
  • 利用免费接口实现国家开放大学刷网课脚本
  • RiProV2定制导航条
  • 判断是否在微信浏览器打开
  • 微信内自动播放音频非百度方案
  • 利用veImageX加速您的网站,想不快都难!
  • SWAPIDC减少注册信息及防刷注册量教学
  • Python实现定时发送每日早报及生活指数
04 8月, 2023
8月4日,星期五,在这里每天60秒读懂世界!
夏柔
站长
夏山如碧 - 怀柔天下
1688
文章
25
评论
58145K
获赞
版权声明

文章采用创作共用版权 CC BY-NC-ND/2.5/CN 许可协议,与本站观点无关。

如果您认为本文侵犯了您的版权信息,请与我们联系修正或删除。
投诉邮箱wpsite@aliyun.com

栏目推荐
Python基础入门33
WordPress技术教程267
前沿技术情报所22
城市创新——新消费11
最近有哪些不可错过的热文23
程序员的养生之道0
节
春
  • 新鲜事
  • 疫情实况
  • UI素材
  • 技术教程
  • 音乐分享
  • 专题
  • 友情
  • 隐私
  • 云优化
Copyright © 2019-2025 WordPress极简博客. Designed by 夏柔. 辽公网安备21010502000474号 辽ICP备19017037号-2