3 ms·
I'm guessing here based on how they're implemented on Windows, and someone should correct me if I'm wrong, but I would think it's meant to guard against consumi
by dataflow 3y ago
I'm guessing here based on how they're implemented on Windows, and someone should correct me if I'm wrong, but I would think it's meant to guard against consuming (comparatively expensive) kernel-mode memory. Expensive because they can't be paged to disk [1], and thus actually consume RAM, thus allowing even lowly-privileged applications to completely exhaust physical RAM and thus make the system unusable.
FWIW, I don't think Windows has such a limit, so this makes me wonder if this is really the concern. I'm not aware of a better reason.
[1] AFAIK, on Windows, kernel objects (which the kernel cares about) use the non-paged pool, but handles to them (which user-mode cares about) use the paged pool. So you don't technically need to limit the number of handles per se, but it seems like a convenient proxy.