Red Hat 8 Guest 100% CPU Constantly on a Red Hat 8 Host

Discussions related to using VirtualBox on Linux hosts.
Post Reply
dbaslm
Posts: 32
Joined: 3. Aug 2012, 12:48

Red Hat 8 Guest 100% CPU Constantly on a Red Hat 8 Host

Post by dbaslm »

I have a Guest VM running RH 8.6 on a RH 8.6 Host.

The CPU on the Host for the VM constantly shows above 100% CPU. Basically the VM Guest is unusable.

Tasks: 579 total, 1 running, 578 sleeping, 0 stopped, 0 zombie
%Cpu(s): 9.9 us, 16.0 sy, 0.0 ni, 67.3 id, 6.2 wa, 0.3 hi, 0.2 si, 0.0 st
MiB Mem : 64348.9 total, 4934.0 free, 15305.8 used, 44109.1 buff/cache
MiB Swap: 28560.0 total, 26486.7 free, 2073.3 used. 42537.8 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2277749 oracle 20 0 12.8g 5.7g 5.4g S 105.9 9.0 7:25.86 /usr/lib/virtualbox/VirtualBoxVM --comment vmrhrdb071 --startvm 1c6cd6c1-2ff9-4da0-82d8-620473c388ec --no-startvm-errormsgbox

I've tried various settings from what I have found but nothing is sorting this issue out.

A quick strace is showing the following calls.

writev(9, [{iov_base="<\0\2\0\326J\200\0027\0\5\0\327J\200\2\r\0\200\2\0\0\1\0\0\0\0\0;\3\5\0"..., iov_len=104}], 1) = 104
poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLOUT}])
writev(9, [{iov_base="<\0\2\0\327J\200\0027\0\5\0\330J\200\2\33\0\200\2\0\0\1\0\0\0\0\0;\3\5\0"..., iov_len=104}], 1) = 104
poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLOUT}])
writev(9, [{iov_base="<\0\2\0\330J\200\0027\0\5\0\331J\200\2\35\0\200\2\0\0\1\0\0\0\0\0;\3\5\0"..., iov_len=104}], 1) = 104
poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLOUT}])
writev(9, [{iov_base="<\0\2\0\331J\200\0027\0\5\0\332J\200\2\37\0\200\2\0\0\1\0\0\0\0\0;\3\5\0"..., iov_len=104}], 1) = 104
recvmsg(12, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=21, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}], 6, 98) = 1 ([{fd=27, revents=POLLIN}])
read(27, "\372", 1) = 1
recvmsg(12, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=21, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}], 6, 35) = 0 (Timeout)
recvmsg(12, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=21, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}], 6, 100) = 1 ([{fd=27, revents=POLLIN}])
read(27, "\372", 1) = 1
recvmsg(12, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=21, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}], 6, 98) = 1 ([{fd=27, revents=POLLIN}])
read(27, "\372", 1) = 1
recvmsg(12, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=21, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}], 6, 98) = 1 ([{fd=27, revents=POLLIN}])
read(27, "\372", 1) = 1
recvmsg(12, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=21, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}], 6, 98) = 1 ([{fd=27, revents=POLLIN}])
read(27, "\372", 1) = 1
recvmsg(12, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=21, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}], 6, 97) = 1 ([{fd=27, revents=POLLIN}])
read(27, "\372", 1) = 1
recvmsg(12, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=21, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}], 6, 97) = 1 ([{fd=27, revents=POLLIN}])
read(27, "\372", 1) = 1
recvmsg(12, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=21, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}], 6, 96) = 1 ([{fd=27, revents=POLLIN}])
read(27, "\372", 1) = 1
recvmsg(12, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=21, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}], 6, 96) = 1 ([{fd=27, revents=POLLIN}])
read(27, "\372", 1) = 1
recvmsg(12, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=21, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}], 6, 82) = 0 (Timeout)
poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLOUT}])
writev(9, [{iov_base="+\0\1\0", iov_len=4}], 1) = 4
futex(0x7ffe0d978928, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x11e9438, FUTEX_WAKE_PRIVATE, 1) = 0
dbaslm
Posts: 32
Joined: 3. Aug 2012, 12:48

Re: Red Hat 8 Guest 100% CPU Constantly on a Red Hat 8 Host

Post by dbaslm »

Just doing a bump, as no replies.

I've adjusted memory settings, set 8Gbytes for Base Memory, set video memory to 128 MB. I've turned on 3D Acceleration and enabled Nested Paging, all things I found doing a search.

Alas, CPU on host at 100%. Makes the VM unusable.

Doing an strace on the host process shows it is polling for a Resource that is temporarily unavailable but I got no idea what it is.

Surely VirtualBox is a mature enough product now that it should be fairly straightforward to diagnose what causes performance issues like this otherwise nobody would use the product.
scottgus1
Site Moderator
Posts: 20945
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Red Hat 8 Guest 100% CPU Constantly on a Red Hat 8 Host

Post by scottgus1 »

The forum is run by fellow Virtualbox users, who have to know how to help in order to help. I for one have no idea how to help or even interpret the given data.

100% on the host CPU can be because something in the VM is running 100% on the CPU. I don't know if your posted info shows a Task-Manager-like list of processes inside the VM sorted by CPU usage max first, but if you do this, what is the highest CPU-using process & what % is it using?
Post Reply