linux 用户内存保障管理配置

1.先确认是不是内存 OOM 被杀

dmesg -T | grep -i killed

如果输出类似:Out of memory: Killed process xxx (tessent_shell)就是内存不够被系统强杀,完全符合你判断。

2.方案 1:给 zhangsan 调高 OOM 优先级(最简单、零风险)

Linux 有 oom_score_adj,数值 -1000 ~ 1000

  • 越小:越不容易被 OOM 杀掉
  • 越大:内存不够时最先被干掉

1. 给 zhangsan 用户所有进程设为最优先

编辑 /etc/security/limits.conf 不行,要用 systemd 全局默认 + 用户固定 oom 权重

临时对当前已有进程生效

找到 tessent_shell 进程 PID:

ps -ef | grep tessent_shell

假设 PID=12345

echo -500 > /proc/12345/oom_score_adj

3.永久:所有 zhangsan 登录进程默认高优先级 zhangsan的uid未1112

mkdir -p /etc/systemd/system/user@1112.service.d

cat > /etc/systemd/system/user@1112.service.d/oom-priority.conf << EOF

Service

OOMScoreAdjust=-900

EOF

systemctl daemon-reload

4.再把系统内核参数设置好(保证系统不崩)

echo "vm.oom_kill_allocating_task = 0" >> /etc/sysctl.conf

echo "vm.min_free_kbytes = 41943040" >> /etc/sysctl.conf

sysctl -p

  • zhangsan 的 tessent_shell → OOM 优先级 -900(系统最后才会杀他)
  • 其他用户 → 保持默认,内存不够优先杀他们
  • 系统永远保留 40GB 空闲内存 → 不崩溃、不卡

5.限制其他普通用户内存(把内存留给 zhangsan)

vim /etc/security/limits.conf

普通用户:最大锁定物理内存 128GB 足够日常作业

* soft memlock 134217728

* hard memlock 134217728

普通用户:单进程虚拟内存上限 512GB,防止乱起大进程吃光1T内存

* soft as 536870912

* hard as 536870912

===================== 专属给 zhangsan =====================

跑Tessent仿真:内存锁定、进程地址空间 全部无限制

zhangsan soft memlock unlimited

zhangsan hard memlock unlimited

zhangsan soft as unlimited

zhangsan hard as unlimited

相关推荐
IT大白鼠1 小时前
Ansible vs 运维智能体:自动化工具的优劣对比与适用场景分析
运维·自动化·ansible
北京智和信通1 小时前
智和信通助力某信息工程大学实现校园全域运维监控
运维·服务器·网络监控·网络管理软件·网管软件·网管运维·网络管理系统
用户2367829801681 小时前
Linux top 命令深度解析:进程监控的性能优化实战
linux
老王谈企服1 小时前
从技术选型角度看跨境电商全流程自动化解决方案的演进
运维·自动化
运维老郭1 小时前
【K8S调度避坑指南】5类调度策略硬核拆解:nodeSelector不够用?亲和性、污点与容忍度生产级实战
运维·云原生·kubernetes
web守墓人1 小时前
【AI编程】小米mimo模型400错误处理,以及roocode修复指南
linux·ubuntu·ai编程
xingfujie1 小时前
前言:从零到一,系统掌握 K8s + DevOps + 微服务
linux·运维·微服务·云原生·容器·kubernetes·devops
Fanfanaas1 小时前
Linux 系统编程 文件篇 (一)
linux·运维·服务器·c++·学习
七牛云行业应用1 小时前
MCP 服务器本地部署实战【2026】:Python/Node.js 搭建 + Claude/Cursor/TRAE
服务器·python·node.js