New on LowEndTalk? Please Register and read our Community Rules.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Comments
Sir, you're embarrassing yourself.
The problem is that hyperthreading is not exactly doubling your cores. There is a difference between physical cores and threads.
For VPS workloads, I notice that performance significantly decreases and CPU steal starts to present itself past 50%.
+1 to Advin
-1 to Layer7
To be clear, l think it’s better to keep HT enabled. If you are using 60 vCPU on a 40c/80t CPU, it may result in more performance than trying to use 60 vCPU on a 40c CPU with hyperthreading disabled. We have it enabled because it’s useful in case of bursts. However, it’s not something that you should be sustaining, because performance will generally start to become inconsistent.
Right. Modern CPU arch can even balance interrupts between threads, too, so if one VM on C1T1 is halted for a few cycles, the VM on C1T2 can take up its entire compute load momentarily. SMT & HT is great technology.
Hi,
i did not say that hyperthreading doubles the cpu power. That is obviously not the case.
CPU steal will come if the CPU time request can not be satisfied in time. Thats actually another topic.
My question was for a source ( a real one, not opinions, but some official kernel documentation or at least a mailing list or what ever similar ) where the opinion of @cu_olly that the linux kernel's CPU usage report is not accurate.
OR that @cu_olly will correct me in my interpretation of his statement.
But troll time wasting answers like:
or
are actually not showing any real knowledge but just hot air.
So @cu_olly IF you have knowledge, then i would be thankful and happy if you could give a real source where you gained this knowledge.
OR you will correct my interpretation.
OR you will stop wasting (my) time talking about your personal guess/opinion/feelings like if they were technical facts.
I can teach you, but I'll have to charge.
Hi,
thats a classical doomed to fail overload/overprovisioning example. Thats not really the topic.
The topic is the question if a VM on a server that has 50% load can benefit from the vacant 50% cpu power.
Yes or no.
I say no, it can not.
And then comes @cu_olly and writes that those 50% load are actually not 50% load but what ever else.
And THIS i doubt. From my knowledge, if the linux kernel tells you the CPU is loaded by X % then it is loaded by X % and not something else.
Hi,
not paying for hot air, sorry ;-)
Right now i dont see much difference between my 6 years old son telling me something about how he thinks the world works and your opinion. Sorry.
If your talk is based on something, its easy for you to show a source.
The kernel doesn't track 'load' by 'percentage' at all, ever. /proc tracks in jiffies only. By the time you've printed the proc tree, it's already invalid anyway, so you've got part-stale results.
Again, tell us you don't know what you're talking about without telling us you don't know what you're talking about.
No problem. You're out here profiteering from a service and selling your ideas of how it works, disputing information which you could easily verify for yourself with some learning. I'm not spreading misinformation and I'm not profiteering from LET contributions, so if you'd like to learn from me, you'll pay for my time.
Au revoir!
But loading one CPU thread takes away resources from another CPU thread (as the threads actually share a lot of resources); see https://blogs.oracle.com/solaris/post/cpu-utilization-of-multi-threaded-architectures-explained or https://perfdynamics.blogspot.com/2014/01/monitoring-cpu-utilization-under-hyper.html
Which has actually nothing to do with your statement that the linux kernel does not show accurate numbers with HT = on.
And you should have let all the benchmarkers and monitoring software creators know your wisdome, that what ever their software does is "already invalid anyway, so you've got part-stale results" ... so they would not have used their time to create something that is invalid alias useless anyway....
I guess there is a reason you could memorize this phrase so well ;-)
Bye bye :-)
Hi,
yes, thats correct.
Already in wikipedia we can read:
" the other logical processor sharing the same physical core "
" the logical processors in a hyper-threaded core share the execution resources. "
So the HT unit is just there for the OS to have another channel to stack commands. To increase the chance that the "real" core will always have enough to do and not waiting for new instructions, as they are already there on the other "logical" core.
Thats all correct and fine, and thank you for the links!
My point is:
While its clear that the linux kernel will usually not make a difference between a real core and a HT core when he shows the usual cpu usage.
And since we know that at the end all work of 2 "logical" cores go on 1 "physical" core you can not use both logical cores for 100% ending up giving 1 "physical" core 200% work ( as he can only do 100% of the work obviously ).
But in a normal workload scenario where you do not overprovision your host system to the death, this is actually no real life problem.
So you can actually not say that basically 50% usage on a HT enabled server is identical to 100% cpu usage on a HT disabled server.
But aside of all this CPU theory, my main point, and thats why i asked the topic opener for his point of view, is that VM's can not benefit from free host server resources. And so he wont have any benefit from a host machine using 20% of its power or 60% of its power in real life.
EDIT:
But at the end of the day, that was anyway not really the topic of the thread but if there are providers who publish their server usage metrics.
Sorry for derailing this! I actually just wanted to know your point of view with this 50% @newvps123
It doesnt show real percentage since it doesnt count the backdoors utilization.
You see it when you cpu idles and your mouse have very high input lag. Or your monitor feels like its set on 30hz @_@
I'm not an expert on linux internals, /proc, etc. but I do recognize that @cu_olly contributed next to nothing to this thread in terms of knowledge and facts. A post like
is just wanking and a cheap attempt to make oneself look smart. And a solidly failing one in this case.
I'm not saying that cu_olly knows nothing, nor am I sure that I fully agree with @layer7, I am sure though that if cu_olly was knowledgable he successfully managed to make himself look like an idiot and a jerk.
Re the thread's topic I think the question of node and/or hypervisor load isn't really helpful. Such info, if provided, is but a hint at best. IMO the relevant question is
what's the hw core or hwt to vCore ratio? aka how many vCores do you squeeze into a given number of physical cores and/or HWTs?
I've asked that multiple times over some years but virtually all providers so far stayed mum. I can even understand that considering that even "A brand" providers sell even VDS with more vCores than HWTs. I've come to feel that if you have a VPS with "only" 2vCores per HWT you are quite well off; it could be far worse ...
Needy and pathetic.
@Calin can you promise us stupid cheap weekly to monthly, priced at $3, $5, or $7 / yr deelz? No NAT or IPV6 only BS, must include IPv6.
Hello there!
Not to brag, but since our policy is to be transparent to the customer, we felt the need to share our node with the highest load
Regards,
Tarisu Team.
@layer7
First a disclaimer: everything I say in this comment is based on how I understand it, it may contain errors, if you see one, please feel free to correct me.
The main problem with hyperthreading is that for Linux, it just means that there are double the (logical) cores, and Linux doesn't care (in a way relevant to this) about the difference between logical and physical cores.
This means that as long as <50% of the logical CPUs are used, the hyperthreads will just idle and increment the idle jiffies counter just as fine as physical cores. The problem is that this creates the illusion that if 50% CPU is used, one is only using half of the theoretical limit, which is just untrue. If one then starts using more, the hyperthreads will start getting used, but because they're only increasing the total computing capacity by 15-35% (depending on the workload), both logical cores belonging to the same physical core will get slower (I won't get into detail, it's because a lot is shared, but that was already mentioned), which means that whatever is using the CPU, will take more CPU time (unless it's something synthetical like
stressdesigned to use exactly N cores at their speed), meaning that idle time will decrease more than if it was run on a full, non-HT core, resulting in two things:Two things regarding your "a VM can not benefit from vacant resources on the host":
Regarding "IF the linux kernel reports you that your server is busy for 50% then it's busy for 50% and not 80% or 20%":
This is a bit suboptimal, as sadly on hyperthreading systems, this is not entirely true, because the idle jiffies get increased more than actual usage could happen, because work_jiffies/(idle_jiffies + work_jiffies) is used (simplified). The problem is that if one starts using the hyperthreads as well, work_jiffies increases less than idle_jiffies decreases.
And some sources of this (besides deduction): https://superuser.com/questions/613108/cpu-load-measure-with-hyperthreading-on-linux, https://www.linuxquestions.org/questions/linux-software-2/matching-proc-cpuinfo-hyperthreading-with-load-average-930195/#post4607670, https://perfdynamics.blogspot.com/2014/01/monitoring-cpu-utilization-under-hyper.html
Feel free to correct me if I made any (logical) errors.
Hi,
with us we actually simply balance things out between the nodes of the cluster. Since its all network storage thats a matter of seconds/minuets to move the VM's around. Theoretically as soon as the average cpu usage within a cluster would hit ~ 70% we would simply add more hardware to the cluster and rebalance.
But the reality is that we hit much earlier the RAM limit. So the average CPU usage is maybe somewhere around 30%.
But actually because of the useful input of @cmeerw ( thanks again! ) especially this chart at the oracle link:
made me actually reconsider my point of view. Yes this numbers are from 2015 and yes thats Solaris and not a Linux kernel from 2025, but at the end of the day i assume that not too much changed in this field in terms of accuracy and i lack of time to do some real research about this topic for recent software/kernel.
But i did not think that things might be different by 20-30% i actually thought its less. So this 70% would be actually too late to extend. Must be earlier.
Thank you for your friendly phrasing! But at the end of the day my point of view was here simply too much inaccurate and close to plain wrong unfortunately.
I actually thought that on systems that are not overloaded, there is no difference. And this is true, but only with the very big condition that the overload does not start at 80/90/100% ( what i assumed ) but MUCH sooner.
And THIS i was indeed not really aware of, as this is no real life problem for us since we usually dont come even close to this CPU usages. But i phrased my opinion in a general way, without this big condition, and that was just plain wrong...
So, thank you for pointing me on this false assumption from my side!
Wow - wondering how that is observed. As a customer, I can clearly see CPU steal > 5% presenting itself in significantly lower idle time and higher User CPU usage. While the tasks are still generating the same load. Basically, every 5% CPU steal reflects itself in almost 10% less idle time and about the same in more used CPU on my VPS. And using the VPS (commandline) becomes way less "snappy" at 10% or more steal...