服务器检查内存爆满

一、紧急处理:快速释放内存

1、通过ssh连接服务器,结束高内存;

top -o %MEM

kill -9 PID

2.清理缓存与临时文件

echo 3 > /proc/sys/vm/drop_caches #释放页缓存、denies等

rm -rf /tmp/* (谨慎清理临时文件)

二、深度排查:

安装apt install atop或yum install atop

查看历史:atop -r atop_日期

2.检查oom记录(内存溢出)

dmesg | grep -i "out of memory" #查看内核OOM日志

cat /var/log/messages | grep -i "oom"或grep -i "oom" /var/log/messages

三、docker容器通过--memory参数限制

docker run --memory=2g <image>

docker update --oom-score-adj=-1000 <container>

2.系统优化参数

echo 10 > /proc/sys/vm/overcommit_memory 允许内存超额分配

sysctl -w vm.swappiness=10 减少交换空间使用

配置日志轮转:编辑/etc/logrotate.conf,限制日志文件大小

================================================

立即排查步骤

‌一、检查系统日志‌

以下命令,查找OOM发生的详细记录和具体哪个进程被终止了

grep -i "oom" /var/log/messages

dmesg | grep -i "out of memory"

‌确认当前内存状态‌

使用 free -h 和 top 命令,查看内存和交换空间的使用情况,以及当前占用内存资源最多的进程。

根本原因与解决方案

导致OOM的常见原因及对策:

‌二、应用程序内存泄漏‌

‌排查‌:重点观察在 top 或 ps 命令中,是否有进程的 RES (常驻内存) 值在持续增长且不释放。

‌解决‌:修复代码中的内存泄漏问题;对于Java应用,可使用 jmap 生成堆转储文件进行分析

1.Slab内存占用过高‌

‌排查‌:执行 cat /proc/meminfo | grep -i slab,如果 Slab 值异常高,则可能是内核对象(如 dentry 缓存)占用了大量内存

2.临时解决‌:可以尝试手动清理Slab缓存(需root权限):

echo 2 > /proc/sys/vm/drop_caches

‌注意‌:此操作会清空内核缓存(如目录项缓存),可能导致系统性能短暂下降,但能快速释放内存。

‌三、系统配置与优化‌

‌调整Overcommit策略‌:在 /proc/sys/vm/overcommit_memory 中,将其设置为 2 可以完全禁用overcommit,从而在一定程度上避免OOM的发生,但这可能会使一些需要大量分配虚拟内存的程序(如Java)启动失败。

‌调整特定进程的OOM优先级‌:通过修改 /proc/<PID>/oom_score_adj 文件(例如,将其设为 -1000 来保护关键进程)

‌硬件资源不足‌

如果应用本身的内存需求就很大,那么最直接的解决方案就是‌增加服务器的物理内存‌。

相关推荐
万联WANFLOW17 分钟前
异地组网速度忽快忽慢到底怎么回事?直连与中继的判断方法和处理步骤
运维·网络·网络协议·p2p
SDWAN_Cheap25 分钟前
物理服务器跟云服务器有什么区别,使用于什么场景
运维·服务器
Smoothcloud润云26 分钟前
GPU算力平台推荐:复现实验时,如何判断租用资源是否合适?
服务器·人工智能·深度学习·gpu算力·gpu
叼烟扛炮2 小时前
[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战
服务器·开发语言·网络·笔记·学习·langchain
福建佰胜张工2 小时前
深度解析 Allen-Bradley 150-B135NBDA 智能电机控制器:选型、参数与工业应用
运维·数据库·单片机·嵌入式硬件·安全·自动化
wefg12 小时前
【Docker】镜像相关指令
运维·docker·容器
feng_you_ying_li3 小时前
linux之网络层
linux·运维·网络
未来之窗软件服务3 小时前
Linux 运维日志删除的多种方式—东方仙盟
linux·运维·服务器·仙盟创梦ide·东方仙盟
卓豪终端管理3 小时前
IT 运维视角下的终端数据安全:能力框架与落地清单
运维
小雉系统3 小时前
BcoreOS实战:用一个升级包,让Rocky Linux跑进Debian服务器
linux·运维·服务器·debian