gpt4 book ai didi

c++ - 如何在没有root权限的情况下获取linux中进程的内存使用情况

转载 作者:太空狗 更新时间:2023-10-29 23:06:04 25 4
gpt4 key购买 nike

我正在托管服务器中使用 php 创建一个站点,因此我没有 root 权限。我必须获得由 GCC 编译的进程的最大内存使用量。我搜索了所有可能的解决方案:

top, vmstat, ps, proc/$pid$/status, valgrind - permission denied

pmap - it didn't do anything

如何在没有root权限的情况下获取进程的内存使用情况?请给我一些想法。谢谢。 :)

最佳答案

我不确定您到底在寻找什么——您想知道进程当前使用的内存量吗?如果是这样,那么看看/proc/<pid>/status并检查 VmRSS 行。这就是您想要的数字(在这种情况下,如果您好奇的话,RSS 表示“常驻集大小”)。该行应该可以用像 PHP 这样的高级语言进行解析。但是,对于像 C 这样的低级语言,应该更容易解析 /proc/<pid>/stat具有相同的值,但每个值由空格分隔,并且没有标签。

如果您没有读取该文件的权限,则意味着服务器进程在与您登录时不同的用户下运行。您将需要与托管服务提供商合作来解决这个问题,或者弄清楚如何让服务器进程查询自己的进程(PHP 脚本?)。

这是否回答了您的问题?或者您是否有兴趣了解“最大内存使用量”,如“一个进程在被内核杀死之前可能使用的最大内存量”?对于 Linux,这实际上是一个敏感的哲学问题。您不会找到任何有关此类最大值的可靠信息,因为没有硬性限制。阅读“Linux 内存过量使用”了解更多详情。

关于c++ - 如何在没有root权限的情况下获取linux中进程的内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16962609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com