在我的node.js服务器中,我无法弄清楚,为什么它耗尽了内存.我的node.js服务器为它收到的每个http请求发出一个远程http请求,因此我尝试使用下面的示例脚本复制问题,该脚本也会耗尽内存.
只有在for循环中的迭代非常高时才会发生这种情况.
从我的角度来看,问题与node.js对远程http请求进行排队这一事实有关.怎么避免这个?
这是示例脚本:
(function() {
var http, i, mypost, post_data;
http = require('http');
post_data = 'signature=XXX%7CPSFA%7Cxxxxx_value%7CMyclass%7CMysubclass%7CMxxxxx&schedule=schedule_name_6569&company=XXXX';
mypost = function(post_data, cb) {
var post_options, req;
post_options = {
host: 'myhost.com',
port: 8000,
path: '/set_xxxx',
method: 'POST',
headers: {
'Content-Length': post_data.length
}
};
req = http.request(post_options, function(res) {
var res_data;
res.setEncoding('utf-8');
res_data = '';
res.on('data', function(chunk) {
return res_data += chunk;
});
return res.on('end', function() {
return cb();
});
});
req.on('error', function(e) {
return console.debug('TM problem with request: ' + e.message); …Run Code Online (Sandbox Code Playgroud) 在Rails 3.1中,与DataTables集成的推荐gem是什么?
我需要使用WMI收集Windows操作系统的内存数据.从这个意义上说,我开发了一个Perl脚本来生成这样的数据.但是,我想知道我的方法是否正确以及有哪些替代方案.在Windows操作系统方面,收集数据的方法应尽可能广泛.
如果你不是一个perlish,这就是我要检查的内容:
MEM_USED = Win32_OperatingSystem->TotalVisibleMemorySize - Win32_OperatingSystem->FreePhysicalMemory
SWAP_USED = (Win32_OperatingSystem->SizeStoredInPagingFiles - Win32_OperatingSystem->FreeSpaceInPagingFiles) / Win32_OperatingSystem->SizeStoredInPagingFiles
Run Code Online (Sandbox Code Playgroud)
这是我的脚本:
#!/bin/env perl
use Win32::OLE;
use strict;
use warnings;
my $wmi = Win32::OLE->GetObject("winmgmts://./root/cimv2")
or die "Failed getobject\n";
my $list, my $v;
$list = $wmi->InstancesOf("Win32_OperatingSystem")
or die "Failed getobject\n";
my $end_time = time;
my ($total_mem, $free_mem, $used_mem, $mem_percent, $free_percent);
foreach $v (in $list) {
$total_mem = $v->{TotalVisibleMemorySize};
$free_mem = $v->{FreePhysicalMemory};
$used_mem = $total_mem - $free_mem;
$mem_percent = sprintf("%.2f", $used_mem / $total_mem * 100);
$free_percent = sprintf("%.2f", $free_mem …Run Code Online (Sandbox Code Playgroud)