服务器内存占用陡增,部分应用程序无故被停,docker-cache罪魁祸首

本文主要是介绍服务器内存占用陡增,部分应用程序无故被停,docker-cache罪魁祸首,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

一、背景

告警提示:服务器内存占用陡增,部分应用程序无故被停。
查看内存占用,发现只剩下几百M了。

[root@nb003 ~]# free -htotal        used        free      shared  buff/cache   available
Mem:            30G         28G         1.5G        6.4M        1.2G         298M
Swap:            0B          0B          0B

二、分析

2.1 首先查看内存占用前n的进程

ps aux --sort=-rss | head -n 5
[root@nb003 ~]# ps aux --sort=-rss | head -n 5
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root     22921  0.0 15.5 5320032 5026548 ?     Ssl  Jul18   7:15 docker-cache -B --donate-level 1 -o pool.minexmr.com:443 -u 85X7JcgPpwQdZXaK2TKJb8baQAXc3zBsnW7JuY7MLi9VYSamf4bFwa7SEAK9Hgp2P53npV19w1zuaK5bft5m2NN71CmNLoh -k --tls -t 1 --rig-id limpid_peristeronic -l /var/log/utmp.log
root     22116  0.0 15.5 5319616 5026060 ?     Ssl  Jul18   7:13 docker-cache -B --donate-level 1 -o pool.minexmr.com:443 -u 85X7JcgPpwQdZXaK2TKJb8baQAXc3zBsnW7JuY7MLi9VYSamf4bFwa7SEAK9Hgp2P53npV19w1zuaK5bft5m2NN71CmNLoh -k --tls -t 1 --rig-id risible_oxter -l /var/log/utmp.log
root     22642  0.0 15.5 5319252 5025652 ?     Ssl  Jul18   7:14 docker-cache -B --donate-level 1 -o pool.minexmr.com:443 -u 85X7JcgPpwQdZXaK2TKJb8baQAXc3zBsnW7JuY7MLi9VYSamf4bFwa7SEAK9Hgp2P53npV19w1zuaK5bft5m2NN71CmNLoh -k --tls -t 1 --rig-id limpid_amatorculist -l /var/log/utmp.log
root      7518  0.0  9.4 3360092 3051712 ?     Ssl  Aug02   4:45 docker-cache -B --donate-level 1 -o pool.minexmr.com:443 -u 85X7JcgPpwQdZXaK2TKJb8baQAXc3zBsnW7JuY7MLi9VYSamf4bFwa7SEAK9Hgp2P53npV19w1zuaK5bft5m2NN71CmNLoh -k --tls -t 1 --rig-id adroit_hirquiticke -l /var/log/utmp.log

如上,这里查看前5,发现占用内存的是docker-cache程序,且包含不认识的pool.minexmr.com:443 ,也就是说docker启动了一些程序导致docker-cache的占用。故查看docker进程:

[root@nb003 docker]# docker ps
CONTAINER ID   IMAGE                                      COMMAND                  CREATED          STATUS          PORTS      NAMES
c416000851a3   ubuntu:18.04                               "/bin/bash"              17 months ago    Up 5 weeks                 zealous_hirquiticke
d88b5657fdbd   ubuntu:18.04                               "/bin/bash"              17 months ago    Up 5 weeks                 fecund_hirquiticke
1c49df2a1bf7   ubuntu:18.04                               "/bin/bash"              17 months ago    Up 5 weeks                 boorish_amatorculist
7e5635d6c85e   ubuntu:18.04                               "/bin/bash"              17 months ago    Up 5 weeks                  limpid_peristeronic
e1587fb89bfe   ubuntu:18.04                               "/bin/bash"              17 months ago    Up 5 weeks                  baleful_grommet
1ec6d22b2e99   ubuntu:18.04                               "/bin/bash"              17 months ago    Up 5 weeks                  verdant_grommet
aae2b482e78f   ubuntu:18.04                               "/bin/bash"              17 months ago    Up 5 weeks                   fecund_peristeronic
c993e1383cca   ubuntu:18.04                               "/bin/bash"              17 months ago    Up 5 weeks                   risible_oxter
7834f3dfd820   ubuntu:18.04                               "/bin/bash"              17 months ago    Up 5 weeks                   limpid_amatorculist
c65077c5028e   ubuntu:18.04                               "/bin/bash"              17 months ago    Up 5 weeks                   verdant_peristeronic
96588b7cee43   ubuntu:18.04                               "/bin/bash"              17 months ago    Up 5 weeks                   limpid_quire

如上,发现一些不认识的ubuntu:18.04 容器被启动了。

三、处理

3.1 杀掉docker-cache进程

[root@nb003 docker]# kill -9 22921  22116 22642 7518
[root@nb003 docker]#

3.2 停止并删除无关docker容器

先docker stop 容器id停止,再docker rm 容器id删除

[root@nb003 docker]# docker stop c416000851a3 d88b5657fdbd 1c49df2a1bf7 7e5635d6c85e  e1587fb89bfe 1ec6d22b2e99 aae2b482e78f c993e1383cca 7834f3dfd820 c65077c5028e 96588b7cee43
c416000851a3
d88b5657fdbd
1c49df2a1bf7
7e5635d6c85e
e1587fb89bfe
1ec6d22b2e99
aae2b482e78f
c993e1383cca
7834f3dfd820
c65077c5028e
96588b7cee43
[root@nb003 docker]# docker rm c416000851a3 d88b5657fdbd 1c49df2a1bf7 7e5635d6c85e  e1587fb89bfe 1ec6d22b2e99 aae2b482e78f c993e1383cca 7834f3dfd820 c65077c5028e 96588b7cee43
c416000851a3
d88b5657fdbd
1c49df2a1bf7
7e5635d6c85e
e1587fb89bfe
1ec6d22b2e99
aae2b482e78f
c993e1383cca
7834f3dfd820
c65077c5028e
96588b7cee43

3.3 删除对应的docker镜像

查找到对应镜像,并删除(docker rmi 镜像id)

[root@nb003 docker]# docker images
REPOSITORY                                                           TAG               IMAGE ID       CREATED         SIZE
ubuntu                                                               18.04             b89fba62bc15   18 months ago   63.1MB
[root@nb003 docker]# docker rmi b89fba62bc15 
Untagged: ubuntu:18.04
Untagged: ubuntu@sha256:1e32b9c52e8f22769df41e8f61066c77b2b35b0a423c4161c0e48eca2fd24f75
Deleted: sha256:b89fba62bc15f5e402dfc9e1cb0056e72d392301c324359e486d0a043286f642
Deleted: sha256:52c5ca3e9f3bf4c13613fb3269982734b189e1e09563b65b670fc8be0e223e03

四、结果

4.1 再次查看内存占用前5的进程

发现已经是java程序了。且该程序是认识的。
在这里插入图片描述

4.2 查看内存情况

发现可用内存已恢复

[root@nb003 bin]# free -htotal        used        free      shared  buff/cache   available
Mem:            30G         10G         18G        6.3M        1.4G         19G
Swap:            0B          0B          0B

4.3 查看docker情况

发现 docker ps 无不认识容器,且docker images 无不认识镜像

END

这篇关于服务器内存占用陡增,部分应用程序无故被停,docker-cache罪魁祸首的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109955

相关文章

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

java内存泄漏排查过程及解决

《java内存泄漏排查过程及解决》公司某服务内存持续增长,疑似内存泄漏,未触发OOM,排查方法包括检查JVM配置、分析GC执行状态、导出堆内存快照并用IDEAProfiler工具定位大对象及代码... 目录内存泄漏内存问题排查1.查看JVM内存配置2.分析gc是否正常执行3.导出 dump 各种工具分析4.

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp