venti/copy is just an example; programs may legitimately have large stacks.
If your machines are regularly running out of VM, something is wrong in your environment. I would argue that we'd be better off fixing upas/fs to be less greedy with memory than contorting the system to try to avoid overcommitting memory. If one did change the system to enforce a limit of 16MB for the aggregate of all system stacks, what would happen when a process needed to grow its stack and the 16MB were full? Checking malloc returns cannot suffice.
