| Summary: | processes get stuck in vmwait instead of nanslp with large MAXUSERS | ||
|---|---|---|---|
| Product: | Base System | Reporter: | bsdx <bsdx> |
| Component: | kern | Assignee: | silby |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 4.1-STABLE | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
bsdx
2000-08-04 07:30:01 UTC
Responsible Changed From-To: freebsd-bugs->dillon This looks like Matt's area. State Changed From-To: open->analyzed Well, the reason for situation #2 is clear now that I've worked on PR 23740: Setting a large maxusers simply sets too large a maxproc. As a result, process-related structures will consume all memory, thereby causing the system to deadlock. I should have a patch to limit this committed soon. In the meantime, lowering maxproc is a viable solution. As for the temporary hang and recovery seen when many processes are run, but memory isn't exhausted, I'm not sure if an easy solution is at hand. It simply looks as if the scheduler isn't handling thousands of runnable processes well. Related to this, some processes are tsleeping on "ttywri" for long periods of time; I suspect that this may be because sshd isn't being given a chance to run and thereby flush the tty buffers of that process. So, I can fix the panics and complete hangs of the system, but making this modified forkbomb run efficiently may be a lot of work. Responsible Changed From-To: dillon->silby This is related to PR kern/23740, so I'm grabbing it. State Changed From-To: analyzed->closed This problem is fixed in 4.5-stable as of today. There were two problems. 1. The panics were related to maxproc being set too high. Lower your maxusers so that it equals the megs of ram in your system. (A subsequent patch will enforce maxproc to a sane value.) 2. vm_daemon scaled badly with thousands of procs, and was eating LOTS of processor time. This was the freezing you described. It has now been fixed. Thank you for including the program which exhibited the problem behavior, it was a big help in tracking down the problem. |