Как я могу отслеживать использование памяти в Perl на Solaris? - PullRequest
3 голосов
/ 12 августа 2010

Я хочу отслеживать использование памяти при запуске программы в Perl, поэтому, если объем памяти, используемой текущей программой, превышает пороговое значение, я применяю подход A, в противном случае применяю подход B.

Любойесть идеи?

Ответы [ 3 ]

3 голосов
/ 12 августа 2010

Я нашел этот скрипт из http://www.perlmonks.org/?node_id=235757:

#!/usr/bin/perl  

use Proc::ProcessTable;  

sub memory_usage {  
  my $t = new Proc::ProcessTable;  
  foreach my $got ( @{$t->table} ) {  
    next if not $got->pid eq $$;  
    return $got->size;  
  }  
}  


print 'memory: '. memory_usage()/1024/1024 ."\n";  
1 голос
/ 13 августа 2010

Используйте GTop, если хотите что-то более портативное.В руководстве mod_perl есть примеры использования .

1 голос
/ 12 августа 2010

Это будет сильно зависеть от ОС.Для Linux мне удалось найти модуль CPAN Sys::Statistics::Linux, который может прочитать /proc и получить данные о вашем текущем процессе.На случай, если вы работаете на Solaris, есть Solaris::Procfs.Я ничего не могу найти для Windows.

Обновление : Поскольку вы являетесь в Solaris, вам определенно нужно Solaris::Procfs.

...