URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9614
[ Назад ]

Исходное сообщение
"Необходимо записать в лог системную информацию."

Отправлено DinDon , 25-Дек-12 12:53 
Задача:
Создать скрипт формирующий лог и наполняющий его системной информацией.
Как то: %CPU,PID,Process name, user, status, %оперативной памяти, % виртуальной памяти, свободно оперативной памяти, свободно виртуальной памяти. И всё это привязать к конкретному списку процессов.
Пиды процессов я знаю.
Смутно подозреваю что здесь мне поможет команда ps. Но читая мануал, я так и не догнал как сформировать конкретную последовательность полей привязанную к конкретному пиду?
Это получаются две совершенно разных команды, которые совершенно не хотят объединяться или результат выполнения одной нельзя передать как параметр второй.

Подскажите как это сделать правильно или как построить такой лог альтернативными вариантами.
Буду очень благодарен.


Содержание

Сообщения в этом обсуждении
"Необходимо записать в лог системную информацию."
Отправлено Bosh , 25-Дек-12 15:22 

for i in 1607 1668  
do
ps -eo pid,pcpu,stat,size,vsize,comm,cmd | grep $i | grep -v grep
done

>[оверквотинг удален]
> свободно оперативной памяти, свободно виртуальной памяти. И всё это привязать к
> конкретному списку процессов.
> Пиды процессов я знаю.
> Смутно подозреваю что здесь мне поможет команда ps. Но читая мануал, я
> так и не догнал как сформировать конкретную последовательность полей привязанную к
> конкретному пиду?
> Это получаются две совершенно разных команды, которые совершенно не хотят объединяться
> или результат выполнения одной нельзя передать как параметр второй.
> Подскажите как это сделать правильно или как построить такой лог альтернативными вариантами.
> Буду очень благодарен.


"Необходимо записать в лог системную информацию."
Отправлено DinDon , 26-Дек-12 10:21 
> for i in 1607 1668
> do
>  ps -eo pid,pcpu,stat,size,vsize,comm,cmd | grep $i | grep -v grep
> done

Спасибо - помогло. Правда я воспользовался циклом while
Из той же серии. В логе необходимо отслеживать какие ядра нагружает процесс
Какой аргумент надо добавить для этого в указанную выше строку?


"Необходимо записать в лог системную информацию."
Отправлено Bosh , 26-Дек-12 14:24 

psr        PSR      processor that process is currently assigned to.

ps -eo pid,pcpu,stat,size,vsize,comm,cmd,psr

>> for i in 1607 1668
>> do
>>  ps -eo pid,pcpu,stat,size,vsize,comm,cmd | grep $i | grep -v grep
>> done
> Спасибо - помогло. Правда я воспользовался циклом while
> Из той же серии. В логе необходимо отслеживать какие ядра нагружает процесс
> Какой аргумент надо добавить для этого в указанную выше строку?


"Необходимо записать в лог системную информацию."
Отправлено Bosh , 26-Дек-12 14:33 
man ps
вроде вполне адекватен :)

>> for i in 1607 1668
>> do
>>  ps -eo pid,pcpu,stat,size,vsize,comm,cmd | grep $i | grep -v grep
>> done
> Спасибо - помогло. Правда я воспользовался циклом while
> Из той же серии. В логе необходимо отслеживать какие ядра нагружает процесс
> Какой аргумент надо добавить для этого в указанную выше строку?


"Необходимо записать в лог системную информацию."
Отправлено DinDon , 26-Дек-12 15:10 
> man ps
> вроде вполне адекватен :)

Совершенно с вами согласен. :) Уже сам нашёл, так же как и аналог. )))
Но всё равно спасибо!