Process table

Process table

Post by Madhusud » Thu, 26 Mar 1992 23:26:46



On AIX ( I am running 3.2 but I think it is the same on 3.1) the process
table size is 131071 or (2 ** 17) - 1. Figures can be confirmed from
<sys/proc.h> or by doing a "sar -v". The size of "struct proc" is 256 bytes.
This gives a process table size of 32 Mb ( yes, you read it right ).

However the size of bss of /usr/lib/boot/unix is under 20 Mb. ( real memory
on the machine is 16 Mb ).

Also on this machine the size of the swap partition is 32 Mb.

My questions are :-
1. When the size of just the proc data structure is 32 Mb, how come
bss is under 20 Mb ?
2. I assume that only a small part of this structure is in memory.
Where does the rest go ? to swap ? If so does that mean almost all of
my swap is swallowed by proc ?
3. What is the need for such a huge figure for NPROC ? particularly when
the inode table and file tables have very much smaller sizes.

Can someone enlighten me ?

 
 
 

Process table

Post by Richard M. Mathe » Fri, 27 Mar 1992 13:10:17



>My questions are :-
>1. When the size of just the proc data structure is 32 Mb, how come
>bss is under 20 Mb ?
>2. I assume that only a small part of this structure is in memory.
>Where does the rest go ? to swap ? If so does that mean almost all of
>my swap is swallowed by proc ?
>3. What is the need for such a huge figure for NPROC ? particularly when
>the inode table and file tables have very much smaller sizes.

32 Mb of virtual address space is reserved for the process structures.
No real memory is allocated for any page, on swap or anywhere else,
until a proc structure is needed which resides on that page.  As long
as virtual address space is not a resource you are worried about running
out of, it doesn't hurt to set aside all this address space.

Richard M. Mathews                      D efend

UUCP:       ...!uunet!lcc!richard         I ndependence


 
 
 

1. where are process-table, region-table, inode-table?

Hi,
        Can anyone tell me where I can change the text table (the max # of
executable that a system can run at any time) , region table , inode tables
and file table? I want to tune my kernel a bit, since it's running slow
w/ my 486 8M.. somehow the kernel is taking more than 10% of my total memory
(624k for kernel code, 384k reserved, 376k data).... leaving me enough to
barely run a X... I read a book called "System Tuning" (base on System V)
which mentioned something about changing the text table , region table,
inode tables anf file table to tune the system. Anyone know where I should
change these defaults? Anyone think that the kernel configuration script
should allow us to estimate the # of users our system will be serving..and
then calculate(estimate) the size of these tables? Does these tables
exist in Linux?

Please enlighten me..

TIA

Dan

2. 2.2.6-pre6 and ext3 Part III

3. Problem keeping process in the process table.

4. Cuaa lost DTR

5. How to hide a process in the process table

6. PROBLEM: I/O ports allocation bug in Linux kernel 2.4.18-3

7. Processes sometimes disappearing from Solaris 2.6+ process table?!

8. xwindows<> monitor DSM 28-172EY refresh rates

9. forked child process remains in process table

10. Parsing the process table

11. Reading the process table, I'm lost?

12. popclient puts USERNAME and PASSWORD in plaintext in process table?

13. changing process table