Paging does not use full memory

From: Udo Grabowski <udo.grabowski_at_imk.fzk.de>
Date: Tue, 25 Sep 2001 13:33:56 +0200

Hello managers !

I'm observing an awkward behaviour of our processes on a 4 Processor
ES40/TruCluster5.1 PK3 (7 members). The machine has 16 GB main
memory + 22 GB virtual memory (lazy swap), and there are two
large user processes running with sizes 6.2 GB and 9.8 GB,
which leads to extensive paging.

What is awkward here is that the machine is not using
it's full physical memory, but only ~ 8 GB. The rest of
the memory is marked as inactive (pages that are likely to
be used for paging, but actually not used yet), and the needed
memory is allocated in virtual space instead, as the output
of top and vmstat shows:

=========================== top ====================================
load averages: 1.03, 0.99, 0.85 11:36:52
137 processes: 3 running, 65 waiting, 26 sleeping, 42 idle, 1 stopped

Memory: Real: 6167M/16G act/tot Virtual: 12396M/22954M use/tot Free: 15M


   PID USERNAME PRI NICE SIZE RES STATE TIME CPU COMMAND
4037442 xxxx 42 19 6283M 2168M run 39:06 99.90% Rcp_0.6.22 <===
4037615 xxxx 42 0 2616K 475K sleep 0:00 4.00% tcsh
4037631 xxxx 44 0 8920K 3792K run 0:00 2.70% top
3670016 root 0 0 20G 593M run 165:37 1.40% kernel idle
4037611 root 42 0 3704K 688K sleep 0:00 1.40% sshd2
4037430 xxxx 42 19 9797M 5341M sleep 38:53 1.30% Rcp_0.6.22 <===
3671488 root 42 0 45M 4300K sleep 17:48 0.00% smsd
3670611 root 44 0 4296K 385K sleep 1:34 0.00% gated

========================= vmstat 2 ==================================
Virtual Memory Statistics: (pagesize = 8192)
   procs memory pages intr cpu
   r w u act free wire fault cow zero react pin pout in sy cs us sy id
   6 242 171 1M 1604 98K 195M 4M 160M 37M 19M 2M 57 4K 326 45 0 55
   6 242 171 1M 1683 98K 269 281 261 0 592 19 253 114 1K 25 1 74
   6 242 171 1M 1611 98K 394 0 0 0 377 25 318 30 2K 25 1 74
             ^^^^^^
========================= vmstat -P ==================================

Total Physical Memory = 16384.00 M
                       = 2097152 pages

Physical Memory Clusters:

start_pfn end_pfn type size_pages / size_bytes
          0 256 pal 256 / 2.00M
        256 131002 os 130746 / 1021.45M
     131002 131072 pal 70 / 560.00k
     131072 2097122 os 1966050 / 15359.77M
    2097122 2097152 pal 30 / 240.00
Physical Memory Use:

  start_pfn end_pfn type size_pages / size_bytes
        256 288 scavenge 32 / 256.00k
        288 1136 text 848 / 6.62M
       1136 1322 data 186 / 1.45M
       1322 1781 bss 459 / 3.59M
       1781 2012 kdebug 231 / 1.80M
       2012 2018 cfgmgmt 6 / 48.00k
       2018 2020 locks 2 / 16.00k
       2020 2034 pmap 14 / 112.00k
       2034 6296 unixtable 4262 / 33.30M
       6296 6302 logs 6 / 48.00k
       6302 39479 vmtables 33177 / 259.20M
      39479 2097122 managed 2057643 / 16075.34M
                              ============================
          Total Physical Memory Use: 2096866 / 16381.77M

Managed Pages Break Down:

        free pages = 1854
      active pages = 583738
    inactive pages = 1167457 <===
       wired pages = 98873
         ubc pages = 205681
         ==================
             Total = 2057603

WIRED Pages Break Down:

    vm wired pages = 10333
   ubc wired pages = 0
   meta data pages = 62852
      malloc pages = 19880
      contig pages = 668
     user ptepages = 2021
   kernel ptepages = 2185
     free ptepages = 8
         ==================
             Total = 97947

============== changes in sysconfigtab ===================
         vm-swap-eager = 0
         vm_segmentation = 1
         vm_aggressive_swap=0
         vm_page_free_target=2048
         vm_page_free_swap=1664
         vm_page_free_min=1024
         vm_page_free_reserved=768
         vm_page_free_optimal=1536

         per_proc_stack_size=14000000000
         max_per_proc_stack_size=14000000000
         per_proc_data_size=35000000000
         max_per_proc_data_size=35000000000
         max_per_proc_address_space=35000000000
         per_proc_address_space=35000000000
==========================================================
When starting further processes, those inactive pages remain unused,
and the machine almost stalls while paging in and out on the harddisk.
Why is the machine not using its full memory ? Is this a bug in the
memory management ?
-- 
Dr. Udo Grabowski                           email: udo.grabowski_at_imk.fzk.de
Institut f. Meteorologie und Klimaforschung II, Forschungszentrum Karslruhe
Postfach 3640, D-76021 Karlsruhe, Germany           Tel: (+49) 7247 82-6026
http://www.fzk.de/imk/imk2/ame/grabowski/           Fax:         "    -6141
Received on Tue Sep 25 2001 - 11:34:42 NZST

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:42 NZDT