Re: Mach VM management question
Hi guys,
Thank you, Jim and Justin, for you kind replies
I have a question regarding the VM management in Mach/Darwin.
Since I don't like to reboot my mac, and since I use a lot of different
applications, not at the same time, I'm surprised to see that the VM
storage
on my drives keeps going up, and never fall down.
I have a tibook 500MHz, with 512MB of RAM, so I don't think that it's
normal
to have so many VM used at the same time on my machine :
...[list of swap files deleted]...
So, is there a way to tell the system to update the VM ? Or tell him to
remove the unused VM swapfiles ?
It happens automatically as the space is released. But this is
controlled by a user-level daemon process (dynamic_pager). If that
got killed off somehow, you would neither free up any unused ones or
allocate any new ones. While I've never seen that happen, its
something to look for in extremely weird cases.
Ok, it's not that, since my VM goes up very easily ;-) Thanks for the info though :-)
Plus here's the output of my top :
[... Top outpout deleted ...]
So what is this kernel_tasks using 400M VSize ?
The kernel allocates some virtual address space (space in submaps, not
actual memory) for efficient future memory allocation and wiring later
on. Top picks that up and reports it. Kernel leaks would most likely
cause a rise in wired memory. With 512MB of memory, the 59.6MB of
wired memory is not a major concern (some wired data structure counts
scale up with amount of physical memory).
There are uses of true virtual (pageable) memory within the kernel.
Specifically, some of the (not currently in-use) texture maps for
graphics acceleration are stored in kernel pageable memory. And some
(sent, but not-yet-received) Mach IPC data is stored in pagable kernel
memory.
There is no way to distinguish between over-commit virtual address
space allocations in the kernel, and true pageable memory allocations
using top. So we can't tell how much of that 400MB of kernel virtual
falls into each of the two categories above. In fact, it isn't
possible to tell that for any other task/process either. Since your
maximum "dirty virtual" memory size of ~1GB (7*76MB swap files + 512MB
of physical memory) is less than the 1.69GB of all virtual allocations
reported by top (even when you remove the 400MB of potentially unused
space in the kernel), it may be correct.
Thanks for the explanation
Your top says there are 55 processes, and you only show 14 of them. Is
there anything else of interest in those other 41 processes?
As an attachment, you'll find the outuput of "top -l -n 60" All the processes are there. Unfortunately, I had to reboot after saving this data, since AppleTalk went nuts ;-) BTW, yes, I have an MS Keyboard, and an MS Mouse, please don't blame me for that ;-) Pejvan [demime 0.98b removed an attachment of type application/octet-stream which had a name of top-l-60.txt] _______________________________________________ darwin-kernel mailing list | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.
participants (1)
-
Pejvan BEIGUI