We ran a job using TPT 14.10 and found the following information in the logs:
Data Block size: 1992440
Data Buffer size: 64272
Total available memory: 10000000
Largest allocable area: 10000000
I have read some details in the manual regarding tbuild -h parameter and how to use it and also the buffersize optional parameter use in load and update operator but I want to:
1) the purpose of shared memory (set by -h)?
2) the purpose of data block size
3) the purpose of data buffer size
4) Any relation among all the above 3s
TPT will allocate a certain amount of shared memory which will be enough for most jobs.
In the event a job is configured in such a way that more shared memory is needed, TPT engineering would instruct you to use the -h command line option to direct TPT to allocate more.
Those values are for informational purposes only.
They will assist TPT engineering in the event a job runs out of memory (and saves the user from having to re-run a job with tracing enabled in order to give the information to the GSC or TPT engineering).
Thanks for your response. So what does TPT acutally store on that shared memory and when do we actually need to tweek it?
Also is there any link/effect on buffer, block size and blocks if I tweek shared memory (using -h) because I noticed that if I increase -h value, it also increases block size and blocks but no effect on buffer size?
I have also noticed that the Total available memory value given in the log is the value of shared memory which is 10000000 as shown above (the default value of 10MB for -h parameter)
The shared memory is used for all sorts of information, but most importantly, it is used by the data streams when sending data from one operator to another. Since TPT does not land data to disk, it is stored in shared memory. The more instances you have, the more data streams, the more shared memory (and semaphores) are needed.
As I said, do not worry too much about these numbers. They are really for us (TPT) to know about if a customer runs into issues with their jobs and we think it might be resource related.
Thanks for the info. So since TPT holds the data between the streams, does TPT also uses shared memory to store data while using EXPORT operator?
I meant to say that does it also uses shared memory (like it does for load) to hold the data.
But anyhow that answers this question. Thanks Feinholz