通过stress 消耗linux 内存,使用过程中,stress进程如何不被linux的oom killer kill掉
时间: 2024-03-09 16:44:37 浏览: 178
linux kill杀不掉进程的原因,及解决办法.zip
5星 · 资源好评率100%
为了让stress进程不被Linux的OOM killer Kill掉,可以采取以下两种方法:
1. 使用cgroups限制stress进程的内存使用量,这样即使stress进程使用了过多的内存,也不会影响其他进程的正常运行。具体的做法是:
- 安装cgroup工具:
```bash
# Ubuntu/Debian系统
sudo apt-get install cgroup-tools
# RHEL/CentOS系统
sudo yum install libcgroup-tools
```
- 创建cgroup:
```bash
sudo cgcreate -g memory:/stress_group
```
- 限制内存使用量:
```bash
sudo cgset -r memory.limit_in_bytes=1G stress_group
```
- 启动stress进程:
```bash
sudo cgexec -g memory:/stress_group stress --vm-bytes 1G --vm-keep -m 1
```
2. 关闭OOM killer,这样即使stress进程使用了过多的内存,系统也不会Kill掉它。但是这种方法不太推荐,因为如果系统内存不足,会导致系统出现严重的性能问题。具体的做法是:
```bash
echo -1 > /proc/sys/kernel/panic_on_oom
echo 0 > /proc/sys/kernel/panic
echo 0 > /proc/sys/kernel/oom_kill_allocating_task
echo 1 > /proc/sys/vm/oom_kill_allocating_task
echo 0 > /proc/sys/vm/overcommit_memory
echo 0 > /proc/sys/vm/overcommit_ratio
```
阅读全文