软虚拟内存限制 (ulimit -v)
Soft virtual memory limit (ulimit -v)
我有一个 linux 用户,软虚拟内存限制 (ulimit -v) 设置为 5GB 左右。
考虑到这一点,我尝试这样做:
获取所有用户进程 ps -u -o pid --no-heading;
对于每个pid,在/proc/pid/status中打开文件;
获取 VmSize 参数并对所有 pids 求和。
这样做之后,我的 VmSizes 总和为 22 GB,这不是预期的结果。
我的问题是:我关于 ulimit -v >= sum of VmSizes 的假设是否正确?如果不是,软限制实际上是什么意思?是否有可能超过特定用户的软限制并且仍然可以接受?
顺便说一句,ulimit -v -H 设置为无限制,这有什么不同。
虚拟内存限制是针对每个进程的,而不是针对每个用户的。
我有一个 linux 用户,软虚拟内存限制 (ulimit -v) 设置为 5GB 左右。
考虑到这一点,我尝试这样做:
获取所有用户进程 ps -u -o pid --no-heading;
对于每个pid,在/proc/pid/status中打开文件;
获取 VmSize 参数并对所有 pids 求和。
这样做之后,我的 VmSizes 总和为 22 GB,这不是预期的结果。
我的问题是:我关于 ulimit -v >= sum of VmSizes 的假设是否正确?如果不是,软限制实际上是什么意思?是否有可能超过特定用户的软限制并且仍然可以接受?
顺便说一句,ulimit -v -H 设置为无限制,这有什么不同。
虚拟内存限制是针对每个进程的,而不是针对每个用户的。