On Nov 19, 3:15 pm, dunleav1 <jmdunle...@comcast.netwrote:
I have a db2 9 FP3a installation with one instance and one database
installed.
I have 4G of physical RAM and I have enabled the /3G switch in
boot.ini.
I am using STTM.
If I run db2mtrk the database never consumes more than 1.2G - why?
Here's the db2mtrk output:
Tracking Memory on: 2007/11/19 at 15:13:43
Memory for instance
Database Monitor Heap is of size 1245184 bytes
Other Memory is of size 10223616 bytes
Total: 11468800 bytes
Memory for database: B001
Backup/Restore/Util Heap is of size 65536 bytes
Package Cache is of size 15794176 bytes
Catalog Cache Heap is of size 1114112 bytes
Buffer Pool Heap (1) is of size 826081280 bytes
Buffer Pool Heap (System 32k buffer pool) is of size 720896 bytes
Buffer Pool Heap (System 16k buffer pool) is of size 458752 bytes
Buffer Pool Heap (System 8k buffer pool) is of size 327680 bytes
Buffer Pool Heap (System 4k buffer pool) is of size 262144 bytes
Shared Sort Heap is of size 589824 bytes
Lock Manager Heap is of size 407371776 bytes
Database Heap is of size 5636096 bytes
Other Memory is of size 131072 bytes
Total: 1258553344 bytes
Hello,
You are likely configured to use more than 1.2GB of memory - db2mtrk
only shows how much memory has been currently allocated. Under
database memory, the used utility heap is only about 64K, and the used
shared sort heap is only about 590K. If you look at the in-memory
settings for the two associated db config parms ('db2 get db cfg show
detail', look for util_heap_sz and sheapthres_shr), you should see how
large they are allowed to grow. If, for instance, your utility heap
is much larger than you think you will need, then you can decrease the
UTIL_HEAP_SZ configuration parameter (that one isn't tuned by STMM).
STMM will tune sort heap memory (as long as sheapthres_shr is set to
AUTOMATIC) according to the sort workload on your instance - if you
were to take a db2mtrk snapshot while there were many active sorts,
you would see a much larger sort heap usage (and correspondingly, see
that DB2 is using more memory).
Another thing to check is that database_memory is set to AUTOMATIC
(the default on Windows) - if not, then set it to AUTOMATIC so that
STMM can tune that.
Finally, there are other address space consumers that db2mtrk can't
report on - for instance, loaded DLLs, global variables, etc. You're
also missing private memory - 'db2mtrk -p' - that can contribute
significantly to DB2's overall memory usage if you have a large number
of agents.
Cheers,
Liam.