sin in: How should one understand the readings?

I’ve got 64Mb RAM in the QNX v4.25G box.

“sin in” reports “Virtual” memory as 34M/75M.
What does it mean?

Fsys is started with the default parameters (i.e. with the empty command
line).

Tony.

Tony <mts.spb.suxx@mail.ru> wrote:

I’ve got 64Mb RAM in the QNX v4.25G box.

“sin in” reports “Virtual” memory as 34M/75M.
What does it mean?

How much virtual address space is in use (34M) and setup (75M).

Essentially, think of this as a description of page table entries,
there have been enough page table entries allocated to describe
75M worth of mappings, with 34M worth of mappings actually active.

You can have more virtual than RAM, since mappings to hardware
memory (memory-mapped IO) use up virtual address space, as well
shared libraries, and shared memory can have the same RAM mapped
multiple times, and QNX also does code-sharing between identical
executables, so that is another place that RAM can be mapped
multiple times.

My box reports:
Memory Virtual
25628k/66715k 623M/ 1044M

So, I have managed in using up 41M of memory, to have about 400M in
total mappings.

Fsys is started with the default parameters (i.e. with the empty command
line).

Mostly irrelevant to the above, actually. This will, though, affect
how much real memory you use.

-David

David Gibbs
QNX Training Services
dagibbs@qnx.com

Tony wrote:

I’ve got 64Mb RAM in the QNX v4.25G box.

“sin in” reports “Virtual” memory as 34M/75M.
What does it mean?

The total amount of virtaul address space we’re using vs. the total we
have mapped.


Cheers,
Adam

QNX Software Systems
[ amallory@qnx.com ]

With a PC, I always felt limited by the software available.
On Unix, I am limited only by my knowledge.
–Peter J. Schoenster <pschon@baste.magibox.net>

On 19 Nov 2004 15:50:40 GMT, David Gibbs <dagibbs@qnx.com> wrote:

Essentially, think of this as a description of page table entries,
there have been enough page table entries allocated to describe
75M worth of mappings, with 34M worth of mappings actually active.
Where can I read on this in more detail?

Do I get it right: since QNX does not swap - the RAM space (i.e. memory
modules physically installed) does not directly affect the box’s “speed”
as it is in windas?

Tony.

Tony <mts.spb.suxx@mail.ru> wrote:

On 19 Nov 2004 15:50:40 GMT, David Gibbs <> dagibbs@qnx.com> > wrote:

Essentially, think of this as a description of page table entries,
there have been enough page table entries allocated to describe
75M worth of mappings, with 34M worth of mappings actually active.

Where can I read on this in more detail?

Well, there’s probably some information in the System Architecture
manual, but for this particular bit, what I wrote in the previous
post is as much detail as there would be anywhere.

Do I get it right: since QNX does not swap - the RAM space (i.e. memory
modules physically installed) does not directly affect the box’s “speed”
as it is in windas?

Well. On the whole, yes.

But, applications can be memory sensitive, choosing code paths based on
how much RAM is available, and choose a fast but memory expensive path
if there is a lot, or a slower but more CPU expensive case if there is
less – the obvious example being Fsys cache – if you have lots of RAM,
you can afford a big file system cache, and the odds become far greater
that you will find the data you want for a file already in RAM so the read()
will be faster. Especially on a development system, where a compiler will
be opening and reading the same header files over and over again, the large
Fsys cache will likely have it in memory, small cache will mean it has to
go and get the data from the disk more often.

Also, some operations can run out of memory and fail if you have
insufficient. This can result in system design forcing one to run
one application, let it complete, process exit, then run the next
application, rather than leaving them both loaded, less process creation
overhead, etc.

-David

David Gibbs
QNX Training Services
dagibbs@qnx.com

On 19 Nov 2004 15:50:40 GMT, David Gibbs <dagibbs@qnx.com> wrote:

My box reports:
Memory Virtual
25628k/66715k 623M/ 1044M

So, I have managed in using up 41M of memory, to have about 400M in
total mappings.
So, one should see theese numbers as Free/Total…

I wish the documentation would have an explanaition of the utilities
output.

How does Virtual memory depend on real RAM?
On my notebook with 256Mb virtual is 184/276Mb. Seems, Total Virtual is
always bigger than the real… And according to this - your box has 1Gb,
right?

Tony.

Tony <mts.spb.suxx@mail.ru> wrote:

On 19 Nov 2004 15:50:40 GMT, David Gibbs <> dagibbs@qnx.com> > wrote:

My box reports:
Memory Virtual
25628k/66715k 623M/ 1044M

So, I have managed in using up 41M of memory, to have about 400M in
total mappings.
So, one should see theese numbers as Free/Total…

Yes.

I wish the documentation would have an explanaition of the utilities
output.

The docs for “sin in” say of the “Memory:”
MEMORY
available / total memory

And of virtual:
VIRTUAL
Free virtual memory/Total virtual memory

So, the docs do say that is free/total.

How does Virtual memory depend on real RAM?

In a complex way, depending on useage of RAM and address space.

Again, virtual memory represents page table entries for mapping
processor address space (physical) into process address space
(virtual). Each actual page of mapping is 4K of “virtual memory” used,
each page worth of data strctures in Proc, whether used or not, is
4k of “Total virtual memory”. “Free virtual memory” is “Total
virtual memory” - used “virtual memory”.

On my notebook with 256Mb virtual is 184/276Mb. Seems, Total Virtual is
always bigger than the real… And according to this - your box has 1Gb,
right?

1G virtual address space setup, but only 64M of RAM, yup.

-David

David Gibbs
QNX Training Services
dagibbs@qnx.com