public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [proc.txt] Fix /proc/pid/statm documentation
@ 2004-08-06  1:11 Albert Cahalan
  2004-08-06  3:48 ` William Lee Irwin III
  2004-08-06  9:40 ` Roger Luethi
  0 siblings, 2 replies; 25+ messages in thread
From: Albert Cahalan @ 2004-08-06  1:11 UTC (permalink / raw)
  To: linux-kernel mailing list; +Cc: linux-mm, rl, wli

Roger Luethi writes:

> I really wanted /proc/pid/statm to die [1] and I still believe the
> reasoning is valid. As it doesn't look like that is going to happen,

It would be awful to lose statm, especially since WLI has fixes
for some of the problems. Just why do you want to kill statm?

Now quoting from your patch...

+ size     total program size (pages)  (same as VmSize in status)
+ resident size of memory portions (pages) (same as VmRSS in status)

There was a distinction here that has been lost. One of these
included memory-mapped hardware. You could see this with the
X server video memory.

For "top" running on a 2.2.xx or 2.4.xx kernel, the statm values
are better. Jim Warner determined this after careful examination,
and I have no desire to re-analyse the matter. Remember that user
tools are expected to run on both old and new kernels, while the
kernel is expected to support old apps. We call this an ABI...

+ shared   number of pages that are shared (i.e. backed by a file)

This isn't in the status file. It's shown in top's default output.
Since top must read this value from statm, it might as well use    
other parts of statm as well.                                    
                                       
+ trs      number of pages that are 'code' (not including libs; broken,
+       includes data segment)

Perhaps this works OK with the NX bit or on an Alpha? On a regular
i386 box, code and read-only data are pretty much the same.

Note: trs means "text RESIDENT set".

+ lrs      number of pages of library  (always 0 on 2.6)

This worked for a.out executables. (that 0x60000000 value is an
a.out constant) Oh well, trs will do.

+ drs      number of pages of data/stack  (including libs; broken,
+       includes library text)

Note: trs means "data RESIDENT set".

+ dt       number of dirty pages   (always 0 on 2.6)

This one would be useful.

These would be really useful too:
1. swap space used
2. swap space that would be used if fully paged out

For the pmap command, it would be nice to have per-mapping
values in the /proc/*/maps files. (resident, locked,
dirty, C-O-W, swapped...) 



^ permalink raw reply	[flat|nested] 25+ messages in thread
* [proc.txt] Fix /proc/pid/statm documentation
@ 2004-08-05 17:10 Roger Luethi
  0 siblings, 0 replies; 25+ messages in thread
From: Roger Luethi @ 2004-08-05 17:10 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

I really wanted /proc/pid/statm to die [1] and I still believe the
reasoning is valid. As it doesn't look like that is going to happen,
though, I offer this fix for the respective documentation.
Note: lrs/drs fields are switched.

Roger

[1] http://marc.theaimsgroup.com/?l=linux-mm&m=106059260315203

Signed-off-by: Roger Luethi <rl@hellgate.ch>

--- 2.6-mm/Documentation/filesystems/proc.txt.orig	2004-08-05 16:06:47.000000000 +0200
+++ 2.6-mm/Documentation/filesystems/proc.txt	2004-08-05 19:01:50.943888417 +0200
@@ -169,16 +169,18 @@ information. The  statm  file  contains 
 process memory usage. Its seven fields are explained in Table 1-2.
 
 
-Table 1-2: Contents of the statm files 
+Table 1-2: Contents of the statm files (as of 2.6.8-rc3)
 ..............................................................................
- File     Content                         
- size     total program size              
- resident size of memory portions         
- shared   number of pages that are shared 
- trs      number of pages that are 'code' 
- drs      number of pages of data/stack   
- lrs      number of pages of library      
- dt       number of dirty pages           
+ Field    Content
+ size     total program size (pages)		(same as VmSize in status)
+ resident size of memory portions (pages)	(same as VmRSS in status)
+ shared   number of pages that are shared	(i.e. backed by a file)
+ trs      number of pages that are 'code'	(not including libs; broken,
+							includes data segment)
+ lrs      number of pages of library		(always 0 on 2.6)
+ drs      number of pages of data/stack		(including libs; broken,
+							includes library text)
+ dt       number of dirty pages			(always 0 on 2.6)
 ..............................................................................
 
 1.2 Kernel data

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2004-08-07 17:38 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-06  1:11 [proc.txt] Fix /proc/pid/statm documentation Albert Cahalan
2004-08-06  3:48 ` William Lee Irwin III
2004-08-06  9:40 ` Roger Luethi
2004-08-06 10:46   ` William Lee Irwin III
2004-08-06 12:01     ` Roger Luethi
2004-08-06 12:11       ` William Lee Irwin III
2004-08-06 13:57         ` Roger Luethi
2004-08-06 14:07           ` William Lee Irwin III
2004-08-06 15:02             ` Roger Luethi
2004-08-06 14:02       ` Albert Cahalan
2004-08-06 17:08         ` Roger Luethi
2004-08-06 15:14           ` Albert Cahalan
2004-08-06 20:49             ` Martin J. Bligh
2004-08-06 18:38               ` Albert Cahalan
2004-08-06 21:15                 ` Martin J. Bligh
2004-08-07 17:37         ` Paul Jackson
2004-08-06 12:58   ` Albert Cahalan
2004-08-06 15:48     ` William Lee Irwin III
2004-08-06 14:14       ` Albert Cahalan
2004-08-06 16:49         ` William Lee Irwin III
2004-08-06 16:34     ` Roger Luethi
2004-08-06 14:51       ` Albert Cahalan
2004-08-06 17:28         ` Martin J. Bligh
2004-08-06 18:21         ` Roger Luethi
  -- strict thread matches above, loose matches on Subject: below --
2004-08-05 17:10 Roger Luethi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox