Странно что на одном сервере работает, а на другом, к сожалению, нет. Я просмотрел код и увидел что ramCached выводит, а ramBuffers,ramTotal,ramFree даный не передает. Подскажите правильно записаны регулярные выражения для парсинга /proc/meminfo
часть кода mem.pl
------------------------------------------------
initialize();
my @input = `cat /proc/meminfo`;
shift @input; shift @input; shift @input;
my %info = ();
foreach (@input) {
## vsego operativki
if ($_ =~ /^MemTotal:/i) {
(
$info{'tmp'},
$info{'ramTotal'},
$info{'tmp'},
) = split(/\s+/, $_);
}
## vsego svobodnoy RAM
if ($_ =~ /^MemFree:/i) {
(
$info{'tmp'},
$info{'ramFree'},
$info{'tmp'},
) = split(/\s+/, $_);
}
##operativy pod bufera
if ($_ =~ /^Buffers:/i) {
(
$info{'tmp'},
$info{'ramBuffers'},
$info{'tmp'},
) = split(/\s+/, $_);
}
## pod cache
if ($_ =~ /^Cached:/i) {
(
$info{'tmp'},
$info{'ramCache'},
$info{'tmp'},
) = split(/\s+/, $_);
}
---------------------------------------------------
|