加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何确定进程的内存量?

发布时间:2020-12-13 23:22:02 所属栏目:Linux 来源:网络整理
导读:根据我的理解,当一个进程正在执行时,它可以使用一些内存.随着堆栈大小的增加,它从进程的一端构建(忽略堆栈之前的全局变量),而堆从另一端构建.如果继续添加到堆栈或堆中,最终所有内存都将用于此过程. 如何确定进程的内存量?我只能想象它取决于一堆不同的变量
根据我的理解,当一个进程正在执行时,它可以使用一些内存.随着堆栈大小的增加,它从进程的一端构建(忽略堆栈之前的全局变量),而堆从另一端构建.如果继续添加到堆栈或堆中,最终所有内存都将用于此过程.

如何确定进程的内存量?我只能想象它取决于一堆不同的变量,但是一般情况下尽可能的响应会很棒.如果事情必须具体,我对用C编写的linux进程感兴趣.

解决方法

在您将遇到的大多数平台上,Linux运行时启用了虚拟内存.这意味着每个进程都有自己的虚拟地址空间,其大小仅由硬件和内核配置它的方式决定.

例如,在具有“3/1”拆分配置的x86架构上,每个用户空间进程都有3GB的可用地址空间,在其中分配堆和堆栈.这与系统中可用的物理内存量无关.在x86-64架构上,每个用户空间进程通常可以使用128TB的地址空间.

物理内存单独分配以支持该虚拟内存.流程可用的数量取决于系统的配置,但通常它只是“按需”提供 – 主要限制物理内存和交换文件空间的大小,以及当前用于其他目的的程度.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读