OpenVZ Forum


Home » General » Support » CPU limiting (Not working as it should)
CPU limiting [message #41226] Wed, 15 December 2010 09:43 Go to next message
Woet is currently offline  Woet
Messages: 9
Registered: November 2008
Junior Member
Using the latest RHEL5, CPU limiting is not working as it should. While it does limit the CPU in the VPS (e.g. causing a load of 20), it also raises the load on the hostnode, basically rendering it useless.
Test case below: check the load, create a VPS, make it spawn a lot of infinite loops, check load again, stop the VPS, check load again.
Expected result: the load on the host node to go up with maximum 1, since I limited the VPS to 100% of one CPU.
Actual result: load on the host node rises way beyond the limits set.

kitten:~# vzctl create 2000 --ostemplate=debian-5.0-x86
Creating container private area (debian-5.0-x86)
Performing postcreate actions
Container private area was created
kitten:~# vzctl set 2000 --cpus 1 --save
Saved parameters for CT 2000
kitten:~# vzctl set 2000 --cpulimit 100 --save
Saved parameters for CT 2000
kitten:~# uptime
10:37:04 up 30 days, 2:36, 2 users, load average: 4.29, 3.41, 2.71
kitten:~# vzctl start 2000
Starting container ...
Container is mounted
Setting CPU limit: 100
Setting CPU units: 1000
Setting CPUs: 1
Container start in progress...
kitten:~# vzctl enter 2000
entered into CT 2000
kitten:/# uptime
12:37:12 up 0 min, 0 users, load average: 0.08, 0.02, 0.01
kitten:/# while true; do true; done &
[1] 15736
kitten:/# while true; do true; done &
[2] 15853
kitten:/# while true; do true; done &
[3] 15854
kitten:/# while true; do true; done &
[4] 15855
kitten:/# while true; do true; done &
[5] 15910
kitten:/# while true; do true; done &
[6] 18398
kitten:/# while true; do true; done &
[7] 18417
kitten:/# while true; do true; done &
[8] 18418
kitten:/# while true; do true; done &
[9] 18431
kitten:/# while true; do true; done &
[10] 19801
kitten:/# while true; do true; done &
[11] 19804
kitten:/# while true; do true; done &
[12] 19807
kitten:/# while true; do true; done &
[13] 19820
kitten:/# while true; do true; done &
[14] 19862
kitten:/# while true; do true; done &
[15] 19896
kitten:/# while true; do true; done &
[16] 19934
kitten:/# while true; do true; done &
[17] 19935
kitten:/# while true; do true; done &
[18] 20380
kitten:/# while true; do true; done &
[19] 20432
kitten:/# while true; do true; done &
[20] 20433
kitten:/# while true; do true; done &
[21] 20436
kitten:/# while true; do true; done &
[22] 20437
kitten:/# while true; do true; done &
[23] 20440
kitten:/# while true; do true; done &
[24] 20441
kitten:/# while true; do true; done &
[25] 21595
kitten:/# while true; do true; done &
kitten:/# uptime
12:38:04 up 0 min, 0 users, load average: 4.67, 1.13, 0.37
kitten:/# uptime
12:38:19 up 1 min, 0 users, load average: 9.17, 2.30, 0.77
kitten:/# uptime
12:38:21 up 1 min, 0 users, load average: 10.44, 2.67, 0.90
kitten:/# uptime
12:38:23 up 1 min, 0 users, load average: 10.44, 2.67, 0.90
kitten:/# exit
logout
exited from CT 2000
kitten:~# uptime
10:38:26 up 30 days, 2:37, 1 user, load average: 13.71, 6.00, 3.64
kitten:~# vzctl stop 2000
Stopping container ...
Container was stopped
Container is unmounted
kitten:~# uptime
10:39:01 up 30 days, 2:38, 1 user, load average: 15.25, 7.38, 4.20
kitten:~# uptime
10:39:26 up 30 days, 2:38, 1 user, load average: 10.85, 6.98, 4.15
kitten:~# uptime
10:40:13 up 30 days, 2:39, 1 user, load average: 6.13, 6.28, 4.04
kitten:~# uptime
10:40:28 up 30 days, 2:39, 1 user, load average: 4.90, 6.00, 3.99
Re: CPU limiting [message #41261 is a reply to message #41226] Sat, 18 December 2010 12:14 Go to previous messageGo to next message
jakob is currently offline  jakob
Messages: 19
Registered: June 2008
Junior Member
The high load average only shows that you have lots of processes in the run queue, which is obviously correct. This does not necessarily mean that they are allowed to run.

What does top say? Does the VE get more than 100% of one CPU? (Note that those 100% will be distributed across all available CPUs, for example 25% on each CPU for 4 core machine)
Re: CPU limiting [message #41262 is a reply to message #41226] Sat, 18 December 2010 12:18 Go to previous messageGo to next message
Woet is currently offline  Woet
Messages: 9
Registered: November 2008
Junior Member
top/htop and /proc/cpuinfo all show 1 CPU, as you can see in my original post, I've set cpus to 1 and cpulimit to 100
Re: CPU limiting [message #41264 is a reply to message #41262] Sat, 18 December 2010 12:26 Go to previous messageGo to next message
jakob is currently offline  jakob
Messages: 19
Registered: June 2008
Junior Member
I meant when you run it on the host. The machine has more than 1 physical cpu, right?

[Updated on: Sat, 18 December 2010 12:26]

Report message to a moderator

Re: CPU limiting [message #41265 is a reply to message #41264] Sat, 18 December 2010 12:28 Go to previous messageGo to next message
Woet is currently offline  Woet
Messages: 9
Registered: November 2008
Junior Member
Yes, it has 2 quadcores with hyperthreading (16 cores in total)
Re: CPU limiting [message #41309 is a reply to message #41226] Wed, 29 December 2010 14:16 Go to previous messageGo to next message
Woet is currently offline  Woet
Messages: 9
Registered: November 2008
Junior Member
Any ideas..?
Re: CPU limiting [message #41311 is a reply to message #41309] Wed, 29 December 2010 16:01 Go to previous messageGo to next message
jakob is currently offline  jakob
Messages: 19
Registered: June 2008
Junior Member
Well... have you already checked what top says when run on the host?
Re: CPU limiting [message #41314 is a reply to message #41311] Wed, 29 December 2010 17:06 Go to previous messageGo to next message
Woet is currently offline  Woet
Messages: 9
Registered: November 2008
Junior Member
What should it say? You can see the loads in my first post.
Re: CPU limiting [message #41315 is a reply to message #41314] Thu, 30 December 2010 01:08 Go to previous messageGo to next message
jakob is currently offline  jakob
Messages: 19
Registered: June 2008
Junior Member
Load average and cpu usage are only loosely tied, the load average numbers don't proof that the VE gets more than 100% single-core cpu time. That's why top output on the HN would be interesting - until now, I don't see a bug.
Re: CPU limiting [message #41319 is a reply to message #41315] Thu, 30 December 2010 07:51 Go to previous messageGo to next message
Woet is currently offline  Woet
Messages: 9
Registered: November 2008
Junior Member
Only one core goes up - but the load average should only go up with a maximum of 1 because only one core is stressed.
Re: CPU limiting [message #41320 is a reply to message #41319] Thu, 30 December 2010 09:58 Go to previous message
Woet is currently offline  Woet
Messages: 9
Registered: November 2008
Junior Member
Please refer to this topic too:
ht tp://forum.openvz.org/index.php?t=msg&goto=21013&

Quote:

If a VE has a very low cpulimit, it can have a high load despite low amounts of work being done (high amount of idle cpu %). Due to this, the HN load can be very deceiving.

For example- take a VE, set cpulimit to 2, start it, and run 100 cpuburn processes inside. now look at you HN's load and also the idle/user cpu %. you will see the cpus are doing almost nothing yet the load is around 100.


This should be fixed so the load average is correct at all times.
Previous Topic: Ubuntu 10.10 Kernel with OpenVZ Support
Next Topic: Strange problem with lockedpages limits
Goto Forum:
  


Current Time: Wed Jul 16 13:32:30 GMT 2025

Total time taken to generate the page: 0.04647 seconds