--- Begin Message ---
Dear shivaligupta
>
> But in the below given example VmSize >> VmLib + VmExe + VmData
> +VmStk what does that indicate?
>
> bash-2.05b# cat /proc/16108/status
> Name: thunderbird
> State: S (sleeping)
> Tgid: 16108
> Pid: 16108
> PPid: 4436
> TracerPid: 0
> Uid: 0 0 0 0
> Gid: 0 0 0 0
> FDSize: 256
> Groups: 0 1 2 3 4 6 10
> VmSize: 4156 kB
> VmLck: 0 kB
> VmRSS: 4 kB
> VmData: 108 kB
> VmStk: 24 kB
> VmExe: 592 kB
> VmLib: 1312 kB
As you can see there, VmSize is bigger than the total. Why? Because
VmSize represent the size of all allocated VMA. A size of all VMAs
doesn't equal to current memory consumption, because the page might not
exist there
In the other hand, VmData and VmRSS represent pages that do exist in RAM
(not swapped to disk and already fetch from backed file, if any). This
is usually smaller than the actual VMA size since a program usually
just use some portion of the its entire dataset in certain period.
> Can nyone tell me the links from where i can get proper info about
> memory profiling and memory limiting??
Memory profiling? in kernel space? or user space? In user space, maybe
you can use valgring. In kernel space, perhaps you can turn on the
kmalloc debugging.
And about memory limiting, I don't understand. You mean something
"ulimit" ?
PS: Sorry, I send this e-mail using non subscribed account in
kernelnewbies. Can you kindly repost this message to the forum, please?
regards
Mulyadi
--- End Message ---