значение sysctl kern.cp_times и др

Все вопросы по установке, обновлению и эксплуатации FreeBSD: конфигурация и сопровождение.

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

значение sysctl kern.cp_times и др

Непрочитанное сообщение FreeBSP » 2010-04-20 0:41:12

Здравствуйте!

прошу подсказать, какой смысл в некоторыхз переменных sysctl. гугол и маны ничего существеннного не подсказали, лазание по сырцам принесло пользу, но ее недостаточно(

вопросы:
1)какой смысл в переменных sysctl
kern.cp_time
kern.cp_times,
kern,clockrate и
kern.sched.balance_interval.
2) есть ли между ними связь, если да то какая
3) ткните пальцем, где я дурак и что не так делал пытаясь отыскать заветную связь

да, пожалуйста не надо посылать абстрактно в маны и гугол. если есть что почитать по теме, подкиньте ссыль, или слова для гугления.. :drinks:

итак, сабж, история

надобно мне посчитать загрузку процессора, да с максимальной точностью. а кто кроме ядра это может знать.
ну я и вопрошаю

Код: Выделить всё

# sysctl -d kern
...
kern.cp_times: per-CPU time statistics
kern.cp_time: CPU time statistics
...
ну думаю, то что надо - как раз время работы проца

Код: Выделить всё

[22:37]~/# sysctl  kern.cp_time
kern.cp_time: 1232514 3577 850373 457743 26268972
[22:37]~/# sysctl kern.cp_times
kern.cp_times: 1232596 3577 850433 457777 26269695 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
в исходниках выковырял, что это время, проведенное процессором в различных состояниях - "user", "nice", "system", "interrupt", "idle". простеньким скриптом выковырял, что это не секунды и не миллискунды и не такты процессора, а ~ 1/132,7 секунды.

Код: Выделить всё

[0:21]~/> cat test.sh
#!/bin/sh

time=`date +%s`
boottime=`sysctl kern.boottime | awk '{print substr($5,1,length($5)-1)}'`
uptime=`expr $time - $boottime`
cp_times=`sysctl kern.cp_times`
cp_time=`sysctl kern.cp_time`
cpus=`sysctl kern.smp.cpus | awk '{print $2}'`
echo "raw values:"
echo $cp_time
echo $cp_times
echo

set -- $cp_time
shift
echo -n "Overall: "
echo "($1 + $2 + $3 + $4 + $5) / $uptime" | bc -l

echo "Per-core:"
set -- $cp_times
shift
for i in `jot $cpus`
do
        echo -n "Core #$i: "
        echo "($1 + $2 + $3 + $4 + $5) / $uptime" | bc -l
        for j in `jot 5`
        do
                shift
        done
done

[0:21]~/> ./test.sh
raw values:
kern.cp_time: 1327064 3653 901578 476911 26935198
kern.cp_times: 1327063 3653 901578 476911 26935198 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Overall: 132.78271035363149761483
Per-core:
Core #1: 132.78270587444850059349
хмм
округлим до 133 и поищем..

Код: Выделить всё

[0:59]~/> sysctl -a | grep 133
kern.clockrate: { hz = 1000, tick = 1000, profhz = 2000, stathz = 133 }
kern.sched.balance_interval: 133
dev.atapci.1.%desc: VIA 8237 UDMA133 controller
на много процессорных системах соотношение несколько ниже(в клетке у vadim64 - 128 с мелочью)
вот собствено и все что мне удалось про это откопать. гугол шлет на форум, где тоже не нсобо информативно .. в манах параметры эти я не нашел

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: значение sysctl kern.cp_times и др

Непрочитанное сообщение FreeBSP » 2010-04-25 19:54:45

ап
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!