Why a browser sees fewer logical CPUs in a container
A container can limit the CPUs a browser can use, but browser reports are not a full hardware inventory. Learn how to check the limit.
Your computer has a certain number of logical CPUs, but a browser running inside a container reports fewer. That does not necessarily mean the host processor is missing or damaged. The container may have a CPU limit, or the browser may report only the resources available to it.
Use System Info to inspect the processor information visible from the browser. Then compare it with the container’s CPU settings and, if possible, the same browser running outside the container.
Check the browser and container
- Open System Info in the browser environment you want to check. Note the processor details it reports, including a logical CPU count if one is shown.
- Open the same tool in a browser running directly on the host computer, if you can. Keep the browser and host the same for a fair comparison.
- Check the container’s CPU configuration. Look for CPU limits, CPU quota, or a CPU set in the container run command, Compose file, or orchestration settings.
- If you can run commands inside the container, try
nproc. On many Linux containers, you can also inspect/sys/fs/cgroup/cpu.maxand/sys/fs/cgroup/cpuset.cpus.effective. These files may not exist in every container setup. - Compare what you found. A CPU set lists which host CPUs the container may run on. A quota limits how much processor time it can use, and does not always change the number a browser reports.
Run both browser checks with the same page and browser settings. If you compare different browser engines or different computers, privacy rules and implementation details can also change the reported count.
What the result means
The container reports fewer CPUs and has a smaller CPU set
The container is allowed to run on only some of the host’s logical CPUs. For example, a CPU set such as 0-3 allows four logical CPUs, even if the host has more. This is an allocation limit, not proof that the other CPUs are faulty.
The container has a CPU quota but no smaller CPU set
The container may be allowed to run on several CPUs but restricted to a total amount of processor time. In Linux cgroup v2, a value like 200000 100000 in cpu.max represents a limit of two CPUs’ worth of time. A quota can slow work without making the browser report exactly two logical CPUs.
The host and container show different counts, but there is no obvious limit
Browsers do not provide a full inventory of the processor. They report information intended for web pages to estimate available parallel work. Browser versions, privacy settings, operating systems, and container support can all affect that number. A browser count alone cannot confirm the host’s exact CPU configuration.
The browser shows the same count in both environments
That does not prove the container has no CPU limit. A quota can restrict processor time without changing the reported count, and browser reporting may be capped or simplified. Check the container configuration and its actual performance as well.
How to change the reported or available CPU resources
- Confirm which browser is running inside the container. If you opened the page on the host, it reports the host browser’s view, not the container’s. Run the browser itself in the environment you intend to measure.
- Check the container’s CPU set. In Docker, look for an option such as
--cpuset-cpusor a Compose setting such ascpuset. In Kubernetes, check the pod’s CPU allocation and node placement. Remove or widen the restriction only if the container should use more CPUs. - Check the CPU quota. Docker options such as
--cpuslimit CPU time. Compose and Kubernetes can also set CPU limits. Raising a quota can let work use more processor time, but it may not increase the browser’s reported logical CPU count. - Review desktop container resources. On Windows 11 or macOS with Docker Desktop, open Settings › Resources and review the CPU allocation. The exact labels can vary by version. A container cannot use more CPU capacity than the desktop runtime has been given.
- Restart the container after changing its configuration. A running container may keep the limits it started with. Recreate it using the updated settings, then run the browser check again.
- Compare another browser or version. If the container has no restrictive CPU settings but one browser still reports fewer CPUs, check with a current browser version. Different browsers may handle container limits and privacy protections differently.
CPU count is not the same as CPU speed
A logical CPU is a processing thread the operating system can schedule work on. A processor with 8 physical cores and 16 hardware threads may provide 16 logical CPUs to the operating system. A container can then limit which of those threads its processes can use, or limit the total time they receive.
Those limits affect different things. A CPU set restricts where work may run. A quota restricts how much processor time is available over time. Neither means the host’s processor physically has fewer cores. A browser’s count is only one clue about its environment, so check the container settings before drawing conclusions about the hardware.
If you need the host’s complete processor inventory, check it from the host operating system or its management tools, not from a browser inside a restricted container.
