< HomePage
!!! Понеже знам, че много от вас попадат тук търсейки за съвет свързан с хард- и софтуер вижте Компютърни Хитринки за именно тези постове в блога !!!
<- Предишен запис (2006-11-18) | Дневника | Следващ запис (2006-11-20) ->

Архив

Неделя, 19 Ноември 2006

Е това не мога да го повЕрвам чак. По принцип не се вържа на такива залъгалки но ме учуди че това нещо уцели не просто диапазона а истинската ми възраст.

***You Are 22 Years Old***

20-29: You are a twentysomething at heart. You feel excited about what's to come... love, work, and new experiences.

http://www.blogthings.com/whatagequiz/

Иначе днес се занимах с сайтчето малко добавих към челната страница (корена на сървъра) най-отдолу един фийд от www.last.fm с последните песни които съм въртял на тази машина. Винаги прясна информация. Освен това пописах малко и по LCDHype4L след като вчера най сетне разбулих мистерията как се изчита процентуалната заетост на процесора. Оказва се, че лекциите по Operating Systems не са били чак толкова безполезни. Всъщност разковничето се сътои в /proc/stat . Този файл при мен например в момента изглежда така:

thor:~# cat /proc/stat
cpu  3434155 1994373 633743 1062573185 1964997 76183 190210 0
cpu0 2028783 1032220 407495 530257344 1445273 76183 186136 0
cpu1 1405372 962153 226247 532315840 519723 0 4073 0
intr 1516112465 1338485598 3 0 0 0 0 3 0 0 1 0 0 3 0 188 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 61 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 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 169979090 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 7647516 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 ...
 0 0 0
ctxt 204007127
btime 1158621007
processes 520762
procs_running 1
procs_blocked 0

За пълно описание на полетата в този файл вижте чудесния документ http://www.linuxhowtos.org/System/procstat.htm. Аз само ще спомена че полетата които за мен са важни са първите 3 от реда cpu. Те са съответно броя timeslots които sheduler-а на системата е назначил на user/nice/sys процеси от как е стартирана системата. Просто системата заделя винаги еднакводълги отрязъци от време за всяка малка частица време когато даден проце е наред. Макар даден процес да не използва цялото време да кажем заради sleep() извикване, то пак си остава резервирано за него. И така на i386 линукс кернела е компилиран с scheduler настроен на 100Херца. Тоест с 100 таймслота на секунда. Значи ако за последната секунда имаме 20 увеличение на първото число то 20стотни процесора се е бъхтил с вашите програми. Това число обаче хич не е винаги 100 (честотата на менаджера на процеси) дори на някои BSD машини може на буут да се бърника. Та то се взима с функцията sysconf(_SC_CLK_TCK) . Значи ни остана да прочетем стойностите през даден интервал от време и да извадим от по-новата по-старата мярка и да разделим на мерната единица (броя слотове за секунда по броя секунди между двете четенета) и получаваме процентуалната заетост на процесора (по-точно на системата) за този интервал от време. Това описание стана малко по дълго от колкото очаквах, не съм имал за цел да го слагам в секцията комп хитринки защото е прекалено специфично, затова и не го пиша в pre както правя с статийте си по принцип, но си мисля, че би било интересно за любопитните читатели.

[ Коментари: 1 / Добави коментар ]
Коментари

Аз излязох на 20 :)

Написа Natasha (email) на 20-Nov-2006 12:44


Valid XHTML 1.0! Valid CSS!