我正在管理一些 Linux 服务器,这些服务器运行着由我们的一个应用程序团队开发的基于 httpd 的应用程序。该应用程序位于 EC2 中,每个主机都有 32GB 的 RAM。我注意到,这些主机中大约每天都会发生一次 OOM 事件,最终 httpd 会被终止。我还注意到 httpd 已锁定了 23GB 的内存,全部位于文件缓存中。我的问题是,在什么情况下,进程锁定所有映射文件是一个好主意。我想不出为什么这是个好主意。我假设开发人员这样做是为了确保他们主动写入的文件保留在内存中,但 Linux 本身不应该驱逐这些文件,除非到了最后关头。通过锁定所有内容,httpd 最终成为第一个被 oom-killer 终止的。我向开发人员提出了这个问题,他们的回答是“没关系,它会自动重新启动。” ....但是如果 httpd 不断被杀死(从而驱逐所有内容并导致系统可能必须返回其某些文件),这首先不是违背了 mlock 的目的吗?
是否有任何正当理由来锁定一个进程的所有 mmaped 文件?
相关内容
- GNU 实用程序:排序
- 如何使用 void 双启动 Gentoo?
- Examclass 中的格式问题
- 删除所有命名空间后如何恢复 SSD(三星)?
- 在装有 Windows 8 的新计算机上安装 Ubuntu 12.10[重复]
- 将 Windows 7 中的启动管理器 ( bootmgr) 标记为未在 Linux 内部压缩
- 删除 C:\Windows\Microsoft.NET 会有什么影响?Windows 还能继续工作吗?[关闭]
- 哪个 unix 或 linux 命令用于在不使用 SSH 登录的情况下更改远程机器的 root 密码(仅 IP 地址)
- Windows 11 的空间缩减量非常低[重复]
- 在 ubuntu 14.04 上安装 VMware Player 12 软件包