Windows 11 Problem With System Threads and Memory
While preparing a performance review about how good the Windows 11 operating system is working with files stored on NAS servers and storage devices, we have stumbled on a serious problem, which causes the Windows 11 operating system to open tens of thousands of system threads and consume all the system memory when processing large numbers of small files stored on a NAS server or network storage device.
In general, the problem occurs when a program reads data from a large number of small files stored on a NAS storage device. Even if a program is using only one thread to sequentially read data from thousands of files, the System process, which is the core of the Windows 11 operating system, opens thousands of parallel threads, consumes all the system memory and the entire computer becomes completely unresponsive within a couple of minutes.
The problem affects all file archiving programs such as WinZip, WinRar and 7-Zip, which need to rapidly read data from all the selected source files and compress the data to a destination archive file. In general, the problem may affect all types of programs that need to rapidly read data from thousands of small files stored on a NAS storage device including backup and archiving software, data analysis software, etc.
In order to test the extent of the problem, we have used the SysGauge System Monitor to monitor the number of threads in the System process and the amount of the free system memory on a newly installed and fully updated Windows 11 machine equipped with 4 GB of the system memory and an SSD system disk. While the system was continuously monitored, we have archived a directory containing 30,000 small files, which was physically stored on a NAS storage device, to a local RAR archive file using the widely popular WinRar file archiving utility. During the test, the Windows 11 machine was not running any additional software programs.
Before starting the file archiving operation, the SysGauge System Monitor showed that there are 144 threads in the System process and 2.4 GB of the free system memory. In the first test, we have configured the WinRar file archiving utility to use only one thread to process files. Once the file archiving operation was started, the number of threads in the System process started to grow very fast at a rate of approximately 500 threads per second and within 2 minutes the number of threads in the System process reached 47,486, which is 1.6 times more than the number of files that was processed.
To be clear, the problem is not related to the WinRar file archiving utility, but to the Windows 11 operating system, which created all these thousands of threads inside of the System process for some unknown reasons. Only after the file archiving operation was completed, the Windows 11 operating system slowly started to close all these threads and as shown on the next screenshot, it took the operating system 3 minutes to get back to the same number of threads in the System process as it was before the file archiving operation. Apparently, there is some kind of a background resource manager in the System process, which closes completed threads at a constant rate of approximately 300 threads per second and that is the reason why it takes so long to close all the completed threads long after the file archiving operation was completed.
In the second test, we have configured the WinRar file archiving utility to process files using 2 parallel processing thread and started the same file archiving operation again. As shown on the next screenshot, this time the number of threads reached 86,000 threads, which confirms that the Windows 11 System process opens new threads much faster than it closes completed threads and that is what causes the huge build-up of threads inside of the System process.
After the second test, instead of waiting for the Windows 11 operating system to completely recover from the previous file archiving operation, we have started a new file arching operation and within minutes the number of threads in the System process reached 112,000 and the computer become completely unresponsive.
In general, each thread uses some amount of the system memory even when it is completed or not used and as shown on the next screenshot, during the last file archiving operation, the amount of the free memory dropped to almost zero and that is exactly why the computer become unresponsive. All these threads created by the Windows 11 System process just consumed all the system memory and the computer was unable to finish the last file archiving operation.
After the running file arching operating was terminated, the Windows 11 operating system slowly started to close all these threads and as it is shows on the last screenshot it took the operating system long 7 minutes to get back to the same state as it was before the last test and this is without any programs running on the computer.
Hopefully, Windows 11 will be fixed in one of the upcoming Windows updates, but currently it is really impossible to use this operating system to analyze and process large numbers of files stored on NAS servers and storage devices.
* This performance review has been prepared for information purposes only and we strongly advise you to make your own performance evaluations using your specific hardware components and datasets.