Hello, well i 'd like to know how much memory uses each l4 application launched in my l4linux system. I'm pretty sure that there's no program for this purpose.
I'm gonna write this but i don't really how to do it so if someone could give me so hints about how to start (mainly what library to use to obtain the informations i need) Thanx for your help
Fabien Chaillou
Hello,
On Wed, Jul 20, 2005 at 10:39:07AM +0200, fabs0028@free.fr wrote:
Hello, well i 'd like to know how much memory uses each l4 application launched in my l4linux system.
Do you talk about L4Linux programs or native L4 applications? For L4Linux programs /proc/<PID>/ would be a good starting point - for L4 applications the dm_phys server provides some debugging/statistical routines (e.g., l4dm_ds_dump()). IIRC "run" uses this function.
Greets
Do you talk about L4Linux programs or native L4 applications?
Well i'm sorry if i wasn't clear, i talk of native L4 applications.
For examples i'd like to see the amount of memory used by the fiasco kernel or the log server or the loader,etc ..
for L4 applications the dm_phys server provides some debugging/statistical routines (e.g., l4dm_ds_dump()). IIRC "run" uses this function.
Thanx, i have just noticed examples like dump-ds in the l4 package but of course dm_phys can't provide me informations about tasks that doesn't rely on l4env.
I think other tasks directly get their memory from sigma0 with rmgr so maybe i should ask one of them but i don't know if it is possible and i don't know how to do that.
Thanx a lot for your help
Fabien Chaillou
On Wed Jul 20, 2005 at 12:27:22 +0200, fabs0028@free.fr wrote:
I think other tasks directly get their memory from sigma0 with rmgr so maybe i should ask one of them but i don't know if it is possible and i don't know how to do that.
L4's memory model is hierarchical, making this a bit difficult. All applications get their memory from sigma0. So what sigma0 could tell you is that it gave some pages to rmgr, some others to taskx and all the other pages to dm_phys, f.e. All other pagers will effectively tell you the same, i.e. how many pages they gave to their clients. But that doesn't really tell you much about the memory usage as a pager usually doesn't use the memory it has (e.g. to store data in it) but maps it to other tasks. One could probably argue that pages that are not mapped to other tasks are in use by the task itself. But it's also possible to map pages to other tasks and use this as shared memory. So this is really just a rule of thumb, maybe. So what you could get out of the system is the mapping tree (the kernel know the tree) and apply the rule of thumb, for more you'd need application knowledge, I guess.
Adam
l4-hackers@os.inf.tu-dresden.de