linux - 软虚拟内存限制 (ulimit -v)

标签 linux memory ulimit

我有一个 linux 用户,软虚拟内存限制 (ulimit -v) 设置为 5GB 左右。

考虑到这一点,我尝试这样做:

  • 使用 ps -u -o pid --no-heading 获取所有用户进程;

  • 对于每个 pid,打开/proc/pid/status 中的文件;

  • 获取 VmSize 参数并对所有 pid 求和。

这样做之后,我的 VmSizes 总和为 22 GB,这不是预期的结果。

我的问题是:我关于 ulimit -v >= sum of VmSizes 的假设是否正确?如果不是,软限制实际上是什么意思?是否有可能超过特定用户的软限制并且仍然可以接受?

顺便说一句,ulimit -v -H 设置为无限制,这有什么不同。

最佳答案

虚拟内存限制是针对每个进程的,而不是针对每个用户的。

关于linux - 软虚拟内存限制 (ulimit -v),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40670061/

相关文章:

linux - 为什么 awk 没有按预期工作

mysql - 使用此处文档时的 bash 脚本变量分配

linux - 在 fork 进程中设置内存权限

ios - MPMoviePlayerController 已发布,但内存使用率仍然很高

docker - 无法在 docker 容器中设置 ulimit

linux - 如何为所有用户设置所有 ulimits 无限制?

c - 具有 functionfs : reading endpoint 1 not successful 的 Linux USB 小工具

c++ - 使用指针访问参数接收的结构中的元素时发生内存泄漏

c - C 中结构体的大小

linux - ulimit -t Linux