3 ms·
Sometimes cores are fractional. Particularly thanks to Docker. I’m currently trying to get this fixed in several NodeJS situations.
by hinkley 1y ago
Sometimes cores are fractional. Particularly thanks to Docker. I’m currently trying to get this fixed in several NodeJS situations.
- ChocolateGod 1y agoThat sounds like something to do with CPU scheduling than actual fractional cores.
- hinkley 1y agoIt does but the example here is figuring out how many workers to spool up for a given machine, and there are many ratios where getting 1 vs .75 would change the correct number. However it’s much worse than that. There’s a bug in libuv that I think is fixed on master but may not have shipped yet, where they fall back to the cgroup cpuset if the returned value is less than 1 (presumably they meant != 0). So if you’re running on a docker or kubernetes host with 8 cores and you try to give one container half a CPU, it will believe it has access to 8, not 0.5 CPUs. And now you’re task switching constantly.