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

相关推荐
姜鱼问生9 小时前
Nginx 缓存命中率监控:从 X-Cache-Status 到实时统计
运维·nginx·缓存
Apipi*9 小时前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
天启HTTP10 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
运维行者_10 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
此时不提桶,更待何时11 小时前
06-14-A-Kafka集群运维与迁移实战详解
运维·kafka
hz5678912 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC12 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
优橙教育12 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
IT研究所13 小时前
AI-ITR平台如何减少客户问题反复升级?
大数据·运维·人工智能·低代码·自然语言处理·安全架构·企微
BLUcoding13 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom