小编gul*_* PT的帖子

node.js在http.request循环中处理内存不足

在我的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)

node.js

12
推荐指数
2
解决办法
7297
查看次数

6
推荐指数
2
解决办法
4072
查看次数

使用Perl获取WMI内存值

我需要使用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)

perl wmi

5
推荐指数
1
解决办法
3078
查看次数

标签 统计

jquery-datatables ×1

node.js ×1

perl ×1

ruby-on-rails ×1

wmi ×1