Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >c++应用程序最大内存使用量(堆栈和堆)的测量

c++应用程序最大内存使用量(堆栈和堆)的测量
EN

Stack Overflow用户
提问于 2017-06-19 05:07:58
回答 1查看 1.3K关注 0票数 1

我目前正在Ubuntu16.04虚拟机上开发一个C++应用程序。我需要测量应用程序(堆栈和堆)的总内存使用量,以找出其最大值范围。由于我在内存分析方面很新,所以我最终使用了val差术,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
valgrind --tool=massif --stacks=yes  ./c++_app
ms_print massif.out.<PID>

在解码的文件中,我在相关的图表上得到了12.5 MB的峰值。另一方面,gnome系统监视器显示最大内存值为25 MB .

我应该相信这两种结果中的哪一种?应该与其他软件交叉检查内存使用情况吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-19 06:51:58

这两种结果都可能是正确的。Massif配置文件堆,可能还有堆栈。另一方面,系统监视器提供有关总的内存使用情况的信息,包括正在运行的映像的大小(也包括静态数据内存)。

对于你的问题,你应该依靠大量的结果。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44631467

复制
相关文章
Java中的堆栈和堆内存
Java数据类型在执行期间存储在两种不同形式的内存中:堆栈和堆。它们通常由运行Java虚拟机(JVM)的底层平台维护。小面从Java软件开发的角度对这两种内存类型提供了一些见解。
灬沙师弟
2023/03/07
1.3K0
Java中的堆栈和堆内存
[linux][memory]进程的最大内存使用量的讨论
前言: 一个进程最大能使用多少虚拟内存,能控制的地方还是比想象的多一点。 尤其是IaaS上,一个qemu进程能使用多少虚拟内存,就是对应着虚拟机的物理内存的最大限制。 分析: 1,limit 在s
皮振伟
2018/04/09
10.1K0
[linux][memory]进程的最大内存使用量的讨论
堆内存和栈内存
在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。
用户2909867
2018/08/22
1.2K0
什么是堆内内存和堆外内存?
JVM 可以使用的内存分外 2 种:堆内存和堆外内存,这篇文章主要介绍堆外内存的使用示例
架构狂人
2023/08/16
5110
什么是堆内内存和堆外内存?
C++内存管理学习堆和栈
一 C++内存管理 1.内存分配方式   在讲解内存分配之前,首先,要了解程序在内存中都有什么区域,然后再详细分析各种分配方式。 1.1 C语言和C++内存分配区   下面的三张图,图1图2是一种比较详细的C语言的内存区域分法。图3是典型的C++内存分布图,简单易懂;以下内存分配图,区别就是图1和2则分为初始化和未初始化静态变量区,图3中是全局变量区。   C语言(图1和图2):(由低地址到高地址)   a)正文段:用来存放程序执行代码。通常,正文段是可共享的。另外,正文段常常是只读的,一次防止程序由于意
猿人谷
2018/01/17
2K0
C++内存管理学习堆和栈
Java堆内存和栈内存的区别
对于这个名词来说,它描述的其实是JVM的内存模型, 如果面试中问到,堆栈具体对应着什么,不知道是否了解?
PhoenixZheng
2018/08/07
2K0
Java堆内存和栈内存的区别
数据结构——最大索引堆(C++和Java实现)
在上一篇博客中,记录了优先队列——堆这个数据结构的实现,并且关于堆的性质我也在上文中介绍过,堆能用来进行排序,堆排序具有快速(复杂度O(NlogN)),稳定的特点,尤其是非常稳定,因此适用于某些需要排序稳定性的场合。
Originalee
2018/08/30
6120
C与C++申请堆内存的不同
C 没有关键字可以申请堆内存,只提供了一些库函数如malloc、calloc、realloc等。而C++提供了一个一系列新的关键字来处理堆内存,那就是new和delete,下面示例代码分别编写了C和C++各种申请内存的方式。
我与梦想有个约会
2023/10/20
1740
浅析JAVA堆内存和栈内存的区别
参考 堆内存:https://baike.baidu.com/item/%E5%A0%86%E5%86%85%E5%AD%98/7270805?fr=aladdin 栈内存:https://baike
week
2018/08/24
1.5K0
浅析JAVA堆内存和栈内存的区别
C++内存模型,我们常说的堆栈究竟指什么?
今天我们来聊聊程序运行时的内存管理。很多同学可能对内存管理这个概念比较陌生,尤其是在校学生,没有接触过这个方面是非常正常的。虽然存在感不高,但是它在我们工程能力当中起到非常重要的一个部分。尤其是从事后端相关的开发的话,这是一个很重要的领域。很多设计和算法的出发点都是围绕内存管理展开的。
TechFlow-承志
2022/12/22
7760
C++内存模型,我们常说的堆栈究竟指什么?
数组的内存堆和栈介绍
概述 程序运行中有两块重要的空间 1.栈 2.堆
2020/10/23
3530
数组的内存堆和栈介绍
js堆栈内存
变量提升:当前上下文执行之前,会把var/function声明或者定义提升,带var的只声明,带function的声明+定义
ruochen
2021/11/21
1.9K0
【编程入门】C语言堆栈入门——堆和栈的区别
在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有说的不对的地方请朋友们不吝赐教,这对于大家学习会有很大帮助。 数据结构的栈和堆 首先在数据结构上要知道堆栈,尽管我们这么称呼它,但实际上堆栈
程序员互动联盟
2018/03/13
2.2K0
堆栈扩展至最大
不知道什么原因,能扩展出的:栈顶 - 栈底 = sizeofStackReserve-16K(即:$4000),超出继续push就会导致stack_overflow。
战神伽罗
2019/07/24
4370
获得进程内存使用量的Python脚本
#!/usr/bin/env python Try to determine how much RAM is currently being used per program. Note per program, not per process. So for example this script will report RAM used by all httpd process together. In detail it reports: sum(private RAM for program pro
用户7365393
2021/11/01
1.5K0
获得进程内存使用量的Python脚本
#!/usr/bin/env python Try to determine how much RAM is currently being used per program. Note per program, not per process. So for example this script will report RAM used by all httpd process together. In detail it reports: sum(private RAM for program pro
用户7705674
2021/11/01
1.7K0
JavaScript内存之栈和堆
对于前端来说,平时开发业务代码的时候根本不会关心JavaScript的内存问题,因为根本用不到,也因此对于内存分配没有一点概念。只有理解了内存分配,对于深拷贝和浅拷贝才能真正理解。当然,理解内存分配对JavaScript才会有更深层次的理解。
wade
2020/04/24
5700
JavaScript内存之栈和堆
获得进程内存使用量的Python脚本
#!/usr/bin/env python Try to determine how much RAM is currently being used per program. Note per program, not per process. So for example this script will report RAM used by all httpd process together. In detail it reports: sum(private RAM for program pro
用户7718188
2021/11/03
1.7K0
C++ 堆内存分配 new delete 简谈
堆区(heap)是内存空间,是区别于栈区、全局数据区和代码区的内存区域,是程序在运行时申请的内存空间。
叶茂林
2023/07/28
1890
Java 堆内内存与堆外内存
一般情况下,Java 中分配的非空对象都是由 Java 虚拟机的垃圾收集器管理的,也称为堆内内存(on-heap memory)。虚拟机会定期对垃圾内存进行回收,在某些特定的时间点,它会进行一次彻底的回收(full gc)。彻底回收时,垃圾收集器会对所有分配的堆内内存进行完整的扫描,这意味着一个重要的事实——这样一次垃圾收集对 Java 应用造成的影响,跟堆的大小是成正比的。过大的堆会影响 Java 应用的性能。
smartsi
2019/08/07
4.4K0

相似问题

测量静态、堆和堆栈内存?(c++,Linux - Centos 7)

20

C++中堆栈内存、静态内存和堆内存的最大内存

21

测量最大PHP内存使用量

21

C++堆和堆栈内存(内存管理)

20

C++内存管理-堆栈和堆

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文