Subject: Re: [vserver] scheduling question
From: Herbert Poetzl <herbert@13thfloor.at>
Date: Fri, 18 Jan 2008 01:19:25 +0100

On Thu, Jan 17, 2008 at 10:39:33AM +0100, ADNET Ghislain wrote:
> Hi,
> 
> I have a little question about scheduling the vservers. I have a server:
> 
> processor0 => Intel(R) Xeon(R) CPU            3040  @ 1.86GHz
> processor1 => Intel(R) Xeon(R) CPU            3040  @ 1.86GHz
> processorcount => 2
> productname => ProLiant DL320 G5
> 
> 
> and two vservers on it:

from http://linux-vserver.org/ProcFS#sched

> HOST:impec20:/usr/local/.aqadmin/home/aqadmin%(root)> more 
> /proc/virtual/40265/sched
> FillRate:              6,0
> Interval:             10,10
> TokensMin:            15
> TokensMax:           125
> PrioBias:              0
> cpu 0: 9830 44 0 0 0 RI 62 15 125 6/10 0/10 0 0
> cpu 1: 6210 28 0 0 0 RI 62 15 125 6/10 0/10 0 0
	         ^----- ticks on hold

> HOST:impec20:/usr/local/.aqadmin/home/aqadmin%(root)> more 
> /proc/virtual/40266/sched
> FillRate:              4,0
> Interval:             10,10
> TokensMin:            15
> TokensMax:           125
> PrioBias:              0
> cpu 0: 3047 26 0 0 0 RI 62 15 125 4/10 0/10 0 0
> cpu 1: 7750 25 0 0 0 RI 62 15 125 4/10 0/10 0 0
	         ^----- ticks on hold

> So basicaly i should have a 60/40 %  for the servers, i disable idle cpu 
> by using a fillrate2 of 0.
> 
> So now i run a cpuburn program on each vserver:
> 
> top - 10:06:33 up 98 days, 23:15,  3 users,  load average: 1.69, 0.73, 0.32
> Tasks: 113 total,   4 running, 109 sleeping,   0 stopped,   0 zombie
> Cpu(s):100.0%us,  0.0%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  
> 0.0%st
> Mem:   1033396k total,   956108k used,    77288k free,   220320k buffers
> Swap:  2104496k total,     1032k used,  2103464k free,   574772k cached
> 
>  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
> 16952 root      25   0    96   16    8 R  100  0.0   0:07.20 burnP6
> 16953 root      25   0    92   16    8 R  100  0.0   0:06.34 burnP6
> 16935 root      15   0  2232 1156  860 R    1  0.1   0:00.26 top
>    1 root      15   0  1944  592  504 S    0  0.1   0:00.34 init
>    2 root      10  -5     0    0    0 S    0  0.0   0:00.00 kthreadd
>    3 root      RT  -5     0    0    0 S    0  0.0   0:00.14 migration/0
>    4 root      34  19     0    0    0 S    0  0.0   0:00.04 ksoftirqd/0
> 
> 
> Here i got a 50/50 distribution of the cpu. Is it normal ? Is it because 
> i have 2 cpu core and there is one more step to use for this case ?

so it looks to me like you didn't enable hard
scheduling for any of those two guests, which
in turn, will give you roughly even distribution

see http://linux-vserver.org/Capabilities_and_Flags

HTH,
Herbert

> i use:
> Versions:
>                   Kernel: 2.6.22.9-vs2.2.0.4
>                   VS-API: 0x00020200
>             util-vserver: 0.30.214; Oct  1 2007, 15:10:35
> 
> Features:
>                       CC: gcc, gcc (GCC) 4.1.2 20061115 (prerelease) 
> (Debian 4.1.1-21)
>                      CXX: g++, g++ (GCC) 4.1.2 20061115 (prerelease) 
> (Debian 4.1.1-21)
>                 CPPFLAGS: ''
>                   CFLAGS: '-g -O2 -std=c99 -Wall -pedantic -W 
> -funit-at-a-time'
>                 CXXFLAGS: '-g -O2 -ansi -Wall -pedantic -W 
> -fmessage-length=0 -funit-at-a-time'
>               build/host: i686-pc-linux-gnu/i686-pc-linux-gnu
>             Use dietlibc: yes
>       Build C++ programs: yes
>       Build C99 programs: yes
>           Available APIs: v13,net,v21,v22,v23,netv2
>            ext2fs Source: e2fsprogs
>    syscall(2) invocation: alternative
>      vserver(2) syscall#: 273/glibc
> 
> 
> -- 
> Cordialement,
> Ghislain