[OpenIndiana-discuss] Shell to use?

Michael Schuster michaelsprivate at gmail.com
Wed Jan 20 12:50:34 UTC 2021


On Wed, Jan 20, 2021 at 12:41 PM david allan finch <david.allan at finch.org>
wrote:

> On 01/19/21 06:50 PM, Bob Friesenhahn wrote:
> > I have always noticed that Solaris (and OpenIndiana) is slower to fork
> > processes than Linux or FreeBSD.  It seems slower to enlarge the
> > process address space as well (perhaps because it does not lie).
>
> This is because Linux lies to an app about new page allocation, until
> you attually write to a page it doesn't attually exist at all, Solaris
> (at least used to) allocates a page and cleans it (or make it sparse).
> This means it is possible on Linux to look like you have lots a memory
> and then suddenly runout.


what you're describing is memory overcommit, which Solaris never did (at
least not while I was at Sun).
If memory serves, pages weren't cleaned at reservation (ie when "malloc"
was called), but only when actually accessed ("zfod" - zero fill on
demand). Memory *did* have to be accounted for ("reserved" as the name
says), so you'd know at malloc-time if you were out of memory, and not when
someone tried to access it later.

regards
Michael

Solaris also use a copy on write system at
> forking (which I think Linux copied), that is why they are so much
> faster than Windows, which attually has to start a new process and copy
> the whole address space todo a fork, which is why it just easier to just
> start a new process rather than fork/exec on windows.
>
>

-- 
Michael Schuster
http://recursiveramblings.wordpress.com/
recursion, n: see 'recursion'


More information about the openindiana-discuss mailing list