top [dotaz na vyznam %]

Dan Lukes dan at obluda.cz
Tue Jan 31 23:50:21 CET 2006


Divacky Roman napsal/wrote, On 01/31/06 16:18:
> navic... vite nekdo co ty cisla znamenaji? ja to zkousel zjistit a jedine na co
> jsem prisel je ze znamenaji "neco". vite nekdo vic?

	V systemu se periodicky vola funkce statclock(). Ta pricita "jeden tik" 
do prislusne kategorie. Logika je, zhruba takova:
  ============
IF USERPROCESS:
	IF nice(process)>0:
		CP_NICE++
	ELSE
		CP_USER++
ELSE /* SYSTEMPROCESS */
	IF IDLEPROCESS:
		CP_IDLE++
	ELSE IF INTERRUPTROUTINE:
		CP_INTR++
	ELSE /* other kernell code */
		CP_SYS++
  ==========

	Rutina bezi na kazdem procesoru zvlast.

	Aktualni hodnoty citacu najdete v sysctl kern.cp_time

	Co se presnosti tyce, nezda se mi, ze by delici cara probihala podle 
verze FreeBSD.

	Onen "jeden tik" neni odvozen od taktovani procesoru, ale od druheho 
kanalu programovatelneho timeru. Musel bych si zvlast nastudovat tuhle 
cast hardware, ale mam dojem, ze naprogramovany takt by mel byt na taktu 
procesoru nezavisly. Spolecna podminka je, ze dany hardware ma k 
dispozici druhy programovatelny kanal casovace. Pokud k dispozici neni, 
pak se 'stathz' odvozuje od hlavnich hodin a ty k tomuto ucelu nepresne 
jsou.

	Jedina podminka "navic" pro 4.x je ta, ze jadro je prelozeno s optionem 
BETTER_CLOCK

	Je, samozrejme, mozne, ze mi neco uniklo.

	Presnost "mereni" zavisi take na hodnote HZ - stathz se na 6.x 
nastavuje na hz*2/15 - tedy cca 133/s pro HZ=1000 resp 13/s pro 
defaultnich HZ=100 (sysctl kern.clock). Toto vzorkovani interferuje s 
pridelovanim kvant casu procesum - v nekterych kvantech muze pribehnout 
statistika vicekrat, v jinych k ni nedojde vubec - je treba proste mit 
na pameti, ze to je statistika a to, jak vsem (krome statistiku) 
vseobecne znamo  neni zadna exaktni veda.

  ============

	Jeste mam kratky prispevek k problematice HTT. Naspodu mate pripojeny 
vysledky mereni, ktere jsem behem chvile provedl. Jedno mereni ukazuje 
vykon HTT o cca 15% vyssi, druhe o cca 40% nizsi. Nebudu se z toho 
snazit vyvodit zadny konkretni zaver. Ja osobne vice-mene souhlasim s:

http://www.onlamp.com/pub/a/bsd/2005/01/20/smpng.html
(otazka "Does SMPng improve performance on Intel Hyper-Threading capable 
CPUs?").

	Podotykam, ze ULE scheduler stale jeste neni "produkcni" a i 
6.0-RELEASE pouziva 4BSD. Ackoliv ten byl nekdy okolo 5.3-R mirne 
upraven, pro ucely teto debaty se na nej onen rok stary rozhovor IMHO 
vztahuje vice-mene beze zmeny.

					Dan



CPU: Intel(R) Pentium(R) 4 CPU 3.00GHz (3043.36-MHz 686-class CPU)
Origin = "GenuineIntel"  Id = 0xf34  Stepping = 4
Hyperthreading: 2 logical CPUs
Kernel: FreeBSD 6.0-STABLE #10: Sun Jan 22 13:29:57 CET 2006
Scheduler: 4BSD

prikaz - kompilace MySQL server 5.0.18 (opravdu jen cisty preklad)
optiony prikazu: BUILD_OPTIMIZED=yes -jX
casy jsou v sekundach, vyznamy jednotlivych casu viz "man time"
+-----+------+---------+---------+---------+---------+
| HTT |      |   -j1   |   -j2   |   -j3   |   -j4   |
+-----+------+---------+---------+---------+---------+
|     | real | 549.905 | 581.207 | 595.579 | 604.775 |
|  NO | user | 427.852 | 451.824 | 460.456 | 469.968 |
|     | sys  |  84.056 |  86.130 |  88.372 |  89.071 |
+=====+======+=========+=========+=========+=========+
|     | real | 535.538 | 476.571 | 487.218 | 492.613 |
| YES | user | 439.563 | 710.634 | 727.797 | 735.132 |
|     | sys  | 116.795 | 160.235 | 164.199 | 165.233 |
+-----+------+---------+---------+---------+---------+

  ===================

prikaz: "openssl speed blowfish & openssl speed blowfish &"
Vysledky jsou uvedeny pro kazdy z obou procesu zvlast a jsou v MB/s
(v tomto pripade 1MB=1000000B)
+-----+----+-------------------------------------------------+
| HTT | #  |                 block size                      |
|     |    +---------+---------+---------+---------+---------+
|     |    |    16 B |    64 B |   256 B |  1024 B |  8192 B |
+-----+----+---------+---------+---------+---------+---------+
|  NO | #0 | 102.77M | 109.65M | 110.81M | 111.80M | 111.19M |
|     | #1 | 102.98M | 109.66M | 110.83M | 111.80M | 111.21M |
+-----+----+---------+---------+---------+---------+---------+
| YES | #0 |  63.50M |  70.63M |  72.42M |  73.15M |  72.13M |
|     | #1 |  63.58M |  70.63M |  72.47M |  73.12M |  72.22M |
+-----+----+---------+---------+---------+---------+---------+





-- 
Dan Lukes                                   SISAL MFF UK
AKA: dan at obluda.cz, dan at freebsd.cz,dan at kolej.mff.cuni.cz



More information about the Users-l mailing list