The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"mem.pl"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"mem.pl" 
Сообщение от .Ya. Искать по авторуВ закладки(ok) on 22-Ноя-05, 17:48  (MSK)
Добрый день. Может кто то сталкивался с такой проблемой или знает как ее решить подскажите не проходите мимо :). Поставил я mrgt версии 2.12.2,  страница появилась а на ней ничего не отображается. Если с консоли то ./mbmon показывает температуру проца.
А все остальные не работают при запуске файла loadavg ничего не отображает, а при mem.pl выводит:
Use of uninitialized value in addition (+) at ./mem.pl line 69.
Use of uninitialized value in addition (+) at ./mem.pl line 69.
0
0
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

  • mem.pl, .Ya., 19:53 , 22-Ноя-05, (1)  
    • mem.pl, .Ya., 16:41 , 23-Ноя-05, (2)  

Сообщения по теме [Сортировка по времени, UBB]

1. "mem.pl" 
Сообщение от .Ya. Искать по авторуВ закладки(ok) on 22-Ноя-05, 19:53  (MSK)
Странно что на одном сервере работает, а на другом, к сожалению, нет. Я просмотрел код и увидел что 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+/, $_);
  }
---------------------------------------------------
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "mem.pl" 
Сообщение от .Ya. Искать по авторуВ закладки(ok) on 23-Ноя-05, 16:41  (MSK)
Проблема была в регулярных выражениях. Вот так работает :)
my $ram;
## vsego operativki
  $ram=`cat /proc/meminfo`;
if ($ram =~ /MemTotal:.*?([0-9]*) kB/i)
      { $info{'ramTotal'} = $1; }
foreach (@input) {
              ...
              ...
              ...
}
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру