The Diary
Дневникът на Jul
<- Предишен запис (2006-11-18) | Дневника | Следващ запис (2006-11-20) ->
Архив
Неделя, 19 Ноември 2006
Е това не мога да го повЕрвам чак. По принцип не се вържа на такива залъгалки но ме учуди че това нещо уцели не просто диапазона а истинската ми възраст.
***You Are 22 Years Old***http://www.blogthings.com/whatagequiz/20-29: You are a twentysomething at heart. You feel excited about what's to come... love, work, and new experiences.
Иначе днес се занимах с сайтчето малко добавих към челната страница (корена на сървъра) най-отдолу един фийд от 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 / Добави коментар ]Коментари
Comments, texts and pictures not signed by me are property of their respective owners.
(c) 2003-2005 by Georgi Chorbadzhiyski. Some rights reserved.
Страницата е генерирана от Glog v3.50
Аз излязох на 20 :)
Написа Natasha (email) на 20-Nov-2006 12:44