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

相关推荐
Orange_sparkle8 小时前
从 Docker 到 Doris:建立后端基础设施全景图
运维·docker·ai·容器·claude code
2601_962128269 小时前
Nginx目录结构
运维·nginx
MayZork9 小时前
Windows 与 Linux 下 vcpkg 的安装部署指南
linux·运维·windows
yyuuuzz9 小时前
记一次 VPS 性能排查:共享 CPU 突发额度导致的限流
运维·服务器·人工智能
冰雪青松9 小时前
Ubuntu 运维命令大全:从入门到精通的实战参考手册
运维·服务器·ubuntu
前端 贾公子10 小时前
第09章:上下文与记忆 (2)
java·服务器·前端
zbyyd10 小时前
Linux 进程间通信学习笔记
linux·笔记·学习
CDN36010 小时前
节点智能调度实操:解决出海区域访问快慢不均、节点拥堵、跨洋延迟高,CDN 全网择优落地方案
运维·服务器·网络
roman_日积跬步-终至千里10 小时前
【数据治理(6)】DataOps 不是调度工具,而是让数据产品长期可信的运行机制
java·服务器·网络
白清羽11 小时前
7.3系统安装docker
运维·docker·容器