相关疑难解决方法(0)

堆栈和堆的内容和位置是什么?

编程语言书籍解释了在堆栈上创建了值类型,并且在堆上创建了引用类型,而没有解释这两者是什么.我还没有看清楚这个问题.我理解堆栈是什么.但,

  • 它们在哪里和它们(物理上在真实计算机的记忆中)?
  • 它们在多大程度上受操作系统或语言运行时控制?
  • 它们的范围是什么?
  • 是什么决定了它们的大小?
  • 是什么让一个更快?

language-agnostic heap stack memory-management dynamic-memory-allocation

7847
推荐指数
27
解决办法
145万
查看次数

什么是Linux内存管理中的RSS和VSZ

Linux内存管理中的RSS和VSZ是什么?在多线程环境中,如何管理和跟踪这两者?

linux

299
推荐指数
7
解决办法
26万
查看次数

在Linux上检索单个进程的CPU使用率和内存使用情况?

我想在Linux上获得单个进程的CPU和内存使用量 - 我知道PID.希望我能每秒都能得到它并使用'watch'命令将其写入CSV.我可以使用什么命令从Linux命令行获取此信息?

linux shell memory-management cpu-usage

157
推荐指数
8
解决办法
35万
查看次数

在x86汇编中寄存器上使用的push/pop指令的功能是什么?

在阅读有关汇编程序的文章时,我经常遇到人们在写文件时他们推送处理器的某个寄存器并稍后再次弹出它以恢复它之前的状态.

  • 怎么能推一个寄存器?它在哪里推?为什么需要这个?
  • 这可归结为单处理器指令还是更复杂?

x86 assembly stack terminology

79
推荐指数
5
解决办法
26万
查看次数

如何监控heroku上的内存使用情况(node.js)

新的Relic for Rails,但我找不到任何可用于node.js的东西.是否有任何工具或API来监控heroku dynos的内存使用情况?

memory heroku node.js

9
推荐指数
1
解决办法
3446
查看次数

node.js --trace-gc输出的含义是什么?

当使用--trace-gc选项时,我从node.js的输出获得以下信息

[24851]      852 ms: Scavenge 26.8 (57.2) -> 20.8 (58.2) MB, 3.1 ms [allocation failure].
[24851]      927 ms: Scavenge 28.7 (58.2) -> 22.4 (59.2) MB, 2.0 ms [allocation failure].
[24851]     1013 ms: Scavenge 30.4 (61.2) -> 24.1 (61.2) MB, 2.3 ms [allocation failure].
[24851]     1067 ms: Scavenge 31.6 (62.2) -> 24.8 (62.2) MB, 2.1 ms [allocation failure].
[24851] Speed up marking because marker was not keeping up
[24851] Postponing speeding up marking until marking starts
[24851] Speed up marking because …
Run Code Online (Sandbox Code Playgroud)

garbage-collection node.js

8
推荐指数
1
解决办法
2440
查看次数

节点进程内存使用量,驻留集大小不断增加

退出node.js process.memoryUsage()的返回值是什么?RSS是驻留集大小,进程内存中保存在RAM中的部分(通过此过程在字节中保存在RAM中的内存量)示例中使用的'text.txt'文件大小为370KB(378880字节)

var http    = require('http');
var fs      = require('fs');
var express = require('express');
var app     = express();

console.log("On app bootstrap = ", process.memoryUsage());

app.get('/test', function(req, res) {

    fs.readFile(__dirname + '/text.txt', function(err, file) {
        console.log("When File is available = ", process.memoryUsage());
        res.end(file);

    });

    setTimeout(function() {
        console.log("After sending = ", process.memoryUsage());
    }, 5000);

});

app.listen(8081);
Run Code Online (Sandbox Code Playgroud)

所以在应用程序bootstrap上:{ rss: 22069248, heapTotal: 15551232, heapUsed: 9169152 } 在我提出10个'/ test'请求后,情况是:

When File is available =  { rss: 33087488, heapTotal: 18635008, heapUsed: 6553552 } …
Run Code Online (Sandbox Code Playgroud)

node.js

7
推荐指数
1
解决办法
3232
查看次数

Node.js获得高内存使用率的通知

我在Amazon EC2上的Ubuntu 14上运行了一个Node.js应用程序.

我希望在内存使用量达到特定大小的情况下发送电子邮件.

我知道PM2公开了一个API,允许在达到一定量的内存使用量时重新启动应用程序.现在我不想重新启动应用程序,只是为了获得有关它的通知,并且无论我想要什么(在我的情况下,发送电子邮件).

如何使用PM2或任何其他免费工具进行此操作?

javascript memory amazon-ec2 amazon-web-services node.js

5
推荐指数
2
解决办法
1286
查看次数

API调用获取进程的当前堆大小?

我在大型C++应用程序中调试缓慢的内存泄漏,我想在程序的各个点打印出当前的堆大小.

除了打开和解析/proc/PID/statm是否有任何库API调用,我可以从中获取此信息?

sbrk()但是,有一篇帖子建议返回当前的堆指针 - 不是我想要的100%.(第二个问题:sbrk()值的变化是否与当前堆大小的变化相对应?)

我看了,但似乎很奇怪没有系统调用......

谢谢

更新我

我在调用sbrk()和阅读之间做了一些测试比较proc/.../statm.似乎sbrk() 不反映实际分配.相反,它似乎statm测量实际分配,同时sbrk()显示总堆大小.

这个总大小的增量大块(等于页面大小?).

下面的试验程序产生以下输出(堆大小如所报告sbrk()存储器使用所报告的/proc/.../statm,清楚地显示出的差:

0 ALLOC: HEAP SIZE: 0
MEMORY USAGE: 1308 201 174 2 0 566 0
1 ALLOC: HEAP SIZE: 135168
MEMORY USAGE: 1565 212 184 2 0 823 0
2 ALLOC: HEAP SIZE: 135168
MEMORY USAGE: 1822 216 187 2 0 1080 0
3 …
Run Code Online (Sandbox Code Playgroud)

c c++ linux heap-memory

4
推荐指数
1
解决办法
1659
查看次数

为什么nodejs内存在这个测试中继续增长?

我试图更好地了解node.js中的内存消耗.我创建了一个小测试脚本:

  • 每秒:记录当前的内存消耗
  • 5秒后:每10秒:创建一个大的JS对象
  • 10秒后:每10秒:删除那个大JS对象

这是脚本.

所以它只有一个大的对象来跟踪,在删除它之前有5秒钟才能创建一个新对象.

记忆如何继续增长?

memory memory-leaks node.js

3
推荐指数
1
解决办法
5342
查看次数