Linux 系统允许用户设置内存占用率,以优化系统性能。
1. 内存限制 (ulimit)
ulimit 命令可用于设置每个进程的内存使用限制。 它可以防止单个进程耗尽系统内存。
例如:ulimit -m 2048 将将每个进程的最大内存限制为 2GB。
2. 内存锁定 (mlockall)
mlockall 命令可用于锁定进程的内存,以防止它被换出到交换空间。 这对于需要持续访问内存的应用程序很有用。
例如:mlockall 将锁定当前进程的整个内存区域。
3. 内存 cgroup (cgroup)
cgroup 是 Linux 内核中的一种功能,可用于将进程组到层次结构中并对其分配资源,包括内存。
例如:创建名为 "mygroup" 的 cgroup,并将其内存限制为 512MB:
cgcreate -g memory:mygroup
cgset -r memory.limit_in_bytes=524288000 mygroup
4. OOM 杀手
OOM(内存不足)杀手是一种内核机制,当系统内存不足时,它会终止内存使用最高的进程。 可以调整 OOM 杀手的行为,以决定何时以及终止哪些进程。
例如:更新 /etc/sysctl.conf 文件以调整 OOM 杀手设置:
vm.overcommit_memory=2
上一篇:linux内存占用率怎么计算
下一篇:linux查看内存占用情况