On 9 January 2014 08:08, Pavel Klinkovský wrote: > By the hard limit I consider something like "maximal capacity of GDT, LDT" > or something similar, if exists. GDT and even Tss are per-processor; ldt isn't used. As to soft limits, apart from the few linear searches mentioned, which could be eliminated if necessary, for instance by tracking process groups, the main constraint is the kernel virtual address space and physical memory consumed by the KSTACK for each process. It's only 4k (in 32 bit mode) but it might be difficult to handle hundreds of thousands of the things comfortably. I tried 3000, on a lowly Atom with 2 Gb RAM: nova% ps|wc -l 2992 and it seemed fine. Do I hear "more!"? nova% ps|wc -l 3991 nova% cat /dev/swap 2135371776 memory 4096 pagesize 48986 kernel 28594/472345 user 0/320000 swap 35004768/142308320 kernel malloc 0/16777216 kernel draw At that point I decided to quite while I was still ahead. I'd probably need a bit more DRAM to do anything much with all of them (they were only running sleep 60), but that's easy to find. Except that they'll have changed DRAM types again no doubt.