Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ps и sum(%cpu)>100%, Как считается загрузка проц-а? 
:(
    Опции темы
RomCom
  Дата 25.9.2008, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 5.9.2008
Где: Ангарск

Репутация: нет
Всего: нет



При выполнении команды
Код

ps -aexo pid,%cpu,%mem

Сумма по колонке %cpu получается  больше  100%  smile 
Как такое возможно?
PM MAIL   Вверх
Imple
Дата 25.9.2008, 05:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1546
Регистрация: 14.9.2007
Где: Алма-Ата

Репутация: 21
Всего: 87



У вас комманда сама по себе не правильная...
Должно быть либо так (BSD syntax):
Код
ps axo pid,%cpu,%mem

Либо, так (standard syntax):
Код
ps -aeo pid,%cpu,%mem

Но, это конечно, предполагая что у вас Linux. 

Цитата(RomCom @  25.9.2008,  05:02 Найти цитируемый пост)
Сумма

Покажите нам? Вывод комманды, и как считали.

Это сообщение отредактировал(а) Imple - 25.9.2008, 05:55


--------------------
Не шалю, никого не трогаю, починяю сервер.
PM WWW ICQ Skype GTalk Jabber   Вверх
RomCom
Дата 25.9.2008, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 5.9.2008
Где: Ангарск

Репутация: нет
Всего: нет



Вот что выдает ps (ps -aeo pid,%cpu,%mem или ps axo pid,%cpu,%mem без разницы):
Код

  PID %CPU %MEM
  426  0.4  0.6
 8366  0.2  0.4
 8416  0.0  0.5
 8452  0.0  0.6
 8500  4.2  2.3
10237  0.6  0.2
12398  0.3  0.7
14098  0.0  0.9
14194  0.5  1.4
16748  0.0  0.3
17437  0.2  0.3
17447  0.0  0.2
17475  0.1  0.3
17478  0.0  0.3
17483  0.2  0.3
17569  0.0  0.3
17728  0.0  0.2
17737  0.1  0.2
17759  0.1  0.2
17840  0.0  0.2
17844  0.0  0.1
17871  2.0  0.0
17872  101  0.0
18366  0.0  0.1
18384  0.0  0.1
18392  0.0  0.1
18421  0.0  0.1
18554  0.0  0.1
26160  0.0  0.2
27018  0.0  0.1

Я суммирую вторую колонку и получаю 109.9%!
один только pid 17872 выдает 101%  smile 

Может ли это быть из за того проц двухядерный?
PM MAIL   Вверх
Imple
Дата 25.9.2008, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1546
Регистрация: 14.9.2007
Где: Алма-Ата

Репутация: 21
Всего: 87



CPU usage в выводе ps, это процентное соотношение времени, во время которого процесс выполнялся, к общему времени жизни процесса. Т.е. если процесс жив 5 секунд, и все 5 секунд выполняется (т.е. не ждет каких-либо событий и т.д.), то CPU usage будет 100%. Но как процесс мог выполнятся больше чем жить, не понимаю.

Добавлено через 23 секунды
А что за процесс то?


--------------------
Не шалю, никого не трогаю, починяю сервер.
PM WWW ICQ Skype GTalk Jabber   Вверх
RomCom
Дата 25.9.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 5.9.2008
Где: Ангарск

Репутация: нет
Всего: нет



Такие данные выдаются призапуске  (тестового) демона по средсвам PHP

Код

if($pid = pcntl_fork())
{
 //получение данных из команды ps
}
else
{
 //математические вычесления
 //собственно это тот процесс что и выдает больше 100%
}

PM MAIL   Вверх
vinick
Дата 25.9.2008, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 9.6.2005

Репутация: 6
Всего: 22



Цитата(RomCom @  25.9.2008,  09:03 Найти цитируемый пост)
Я суммирую вторую колонку и получаю 109.9%!
один только pid 17872 выдает 101%  smile 

Может ли это быть из за того проц двухядерный? 

Это многоядерность вместе с многопоточностью виновата. 
PM MAIL ICQ Jabber   Вверх
Imple
Дата 25.9.2008, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1546
Регистрация: 14.9.2007
Где: Алма-Ата

Репутация: 21
Всего: 87



Цитата(vinick @  25.9.2008,  16:06 Найти цитируемый пост)
Это многоядерность вместе с многопоточностью виновата. 

Поделитесь пожалуйста источником столь ценной информации?  smile 


--------------------
Не шалю, никого не трогаю, починяю сервер.
PM WWW ICQ Skype GTalk Jabber   Вверх
vinick
Дата 6.10.2008, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 9.6.2005

Репутация: 6
Всего: 22



Цитата(Imple @  25.9.2008,  13:48 Найти цитируемый пост)
Поделитесь пожалуйста источником столь ценной информации?


От гугла я смог добиться только такой ссылки http://kerneltrap.org/node/16405
Истина наверно лежит в дебрях /proc и procps.

Код

$ cat thr_test.cpp
#include <boost/thread.hpp>
#include <boost/bind.hpp>
#include <limits>
#include <numeric>

void thr1()
{
  int i = std::numeric_limits<int>::max();

  for(;;--i)
    {
      int k = i % 7;
      k--;
      if( i < 10)
        i = std::numeric_limits<int>::max();
    }
}
int main()
{
  boost::thread t1(&thr1);
  boost::thread t2(&thr1);
  t2.join();
  t1.join();
  return 0;
}
$ ./a.out &
[1] 11148
vinick@vinick:~/develop$ (ps aexo pid,pcpu,comm | grep a.out) && (echo "------------")&&(ps -L aexo pid,pcpu,comm | grep a.out)
11148  181 a.out
------------
11148  0.0 a.out
11148 90.2 a.out
11148 91.5 a.out


Два потока занимают по 90% каждого ядра, а весь поток получается занимает 180%

PM MAIL ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0824 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.