Linux 中怎么安全终止触发 OOM 的高内存进程

夏雪吖_4276

夏雪吖_4276

2026-10-22

659人浏览

原创

linux中无法安全终止oom killer已触发的进程,只能在oom发生前通过监控(如p aux、htop)、限制(cgroups memorymax)、保护(oom_score_adj=-1000)和事后分析(dmesg、/proc/*/cmdline)进行预防与响应。

linux 中怎么安全终止触发 oom 的高内存进程

Linux 中没有“安全终止触发 OOM 的进程”这一标准操作——因为当 OOM Killer 已经启动时,系统已处于内存严重不足状态,它会自主选中并强制 kill 进程,你无法在那一刻“安全终止”它;你真正能做的,是在 OOM 发生前识别、干预、限制或保护关键进程。

提前识别高内存风险进程

别等 OOM 日志出现才行动。日常监控能帮你抢在崩溃前出手:

  • 用 p aux --sort=-%mem | head -10 快速列出内存占用最高的 10 个进程
  • 用 htop(按 F6 → %MEM)交互式排序,关注长期驻留且内存持续上涨的进程
  • 检查 /proc//status 中的 VmRSS(实际物理内存占用),比 top 显示的更准确
  • 对 Java、Node.js、Python 等应用,确认其堆/缓存配置是否远超可用内存(如 -Xmx8g 在只有 4G 可用的机器上就是隐患)

主动限制而非被动终止

与其等 OOM Killer 杀错人,不如给高风险进程划清边界:

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • 用 cgroups v2 为该进程单独设限:MemoryMax=512M 强制上限,超限时只杀它自己,不波及其他服务
  • 配合 MemoryHigh=450M 触发内核主动回收 page cache,大幅降低硬限被击穿概率
  • 若使用 systemd,直接在 service 文件里加 MemoryMax 和 MemorySwapMax,无需手动挂载 cgroup

降低关键进程被误杀概率

即使不设 cgroup,也能提高存活率:

  • 把 /proc//oom_score_adj 设为 -1000(最低值),告诉内核“永不杀此进程”
  • 注意:必须在进程启动后、内存大量分配前设置,否则可能被忽略;推荐写入启动脚本或 systemd ExecStartPost
  • 避免将 oom_score_adj 设为正数(如 +500),这等于主动递刀给 OOM Killer

事后快速响应与验证

如果已经看到 “Out of memory: Kill process” 日志,说明 OOM 已发生:

  • 立刻查 dmesg -T | grep -i "kill process",确认被杀进程名和 PID
  • 用 cat /proc//cmdline 2>/dev/null | tr '\0' ' ' 还原完整命令,判断是否为可容忍的测试进程
  • 检查该进程是否反复被杀——若同一进程多次触发 OOM,基本可断定存在内存泄漏或配置失当,需代码或配置层修复

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux linux系统

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

940

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3072

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1016

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

909

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

474

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2796

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5252

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

827

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习