MFC Analysis

Specifics - Understanding MFC Data:

MFC stands for MainFrame Cache. This cache is in the CEC or 'box'. This cache functions similar to cache on DASD, it is an area that holds recently used data so it is easily reaccessed. If this cache is used efficiently, performance improves. Unfortunately in the z/VM environment with so many guest systems like that do polling (like Linux, DB2, etc) or large amounts of I/O (like TPF), this cache tends to get easily overwritten and thus becomes inefficient. However, there are things that can be done to help maintain the best use of this cache.

Useful Terms and Information:


Tips For Using MFC Data:


Helpful ESAMON screens/ESAMAP reports:


ESAMFC - Shows processor instruction information.

?

  • Processor Rate/Sec Cycles/Instr/Ratio - Shows processor cache effectiveness. The lower the ratio, the more work is being accomplished.
  • Level 1 Cache/Second Instruction Cost/Data Cost - Shows the cost of cache misses.
  • TLB CPU Cost/Cycles Lost - Also shows the cost of cache misses - cycles being used for 'non-work' (such as address translation) or 'idle' due to time lost moving data from a higher level of cache/memory. Watch for changes in each of these numbers - especially if changing parking settings and/or LPAR weighting.

  • ESAMFCA - Shows processor cache hit information.

    ?

  • Processor Rate/Sec Cycles/Instr/Ratio - Shows processor cache effectiveness. The lower the ratio (the average number of cycles required to process an instruction) the more work is being accomplished.
  • Data source read from L1/L2/L3/L4L/L4R/Mem - Shows the cache hits from the different levels of cache. The farther the system has to go to get the information, the higher the cost.
  • TLB Miss Instr/Data - This shows the Transaction Look Aside buffer misses for both instructions and data. The higher the number, the less actual work is being accomplished.
  • Overhead Pct Cycles Used TLB%/Total - Shows the amount of overhead caused by TLB misses.
  • RNI From Burg - Shows the Relative Nesting Intensity from the Burg formula. This is a calculation of how long it takes to load L1 cache from the different levels of cache. The smaller the number, the faster L1 cache is being refreshed and the more work is being done. RNI goes up when SMT is enabled as cache is being affected.

  • ESAMFCC - Shows processor L1 cache write analysis.

    ?

  • L2 Cache Inst/Data - Shows L1 cache writes from L2 cache. The closer the cache is to L1, the more effective it is and the less time it will take to be able to execute the instruction.
  • L3 Cache Data OnChip/OnBook/Offbk - Shows L1 cache writes from L3 cache - on the same CHIP, on the same book or on a different book for data.
  • L3 Cache Inst OnChip/OnBook/Offbk - Shows L1 cache writes from L3 cache - on the same CHIP, on the same book or on a different book for instructions.
  • L4 Cache OnBook/Offbk - Shows L1 cache writes from L4 cache - on the same book or on a different book.
  • Memory OnChip/OnBook/OffBook/OffDrawer - Shows L1 cache writes from memory - on the same chip, on/off the same book or on a different drawer. This would be the most costly.
  • SIIS - This shows the Store Into Instruction Stream (from Burg) percentage. Anything over 5% will cause impact.
  • The farther away the L1 write has to go, the more time it takes and performance will suffer. This is a good place to see cache efficiency.

  • ESAMFCN - Shows processor L1 cache intervention analysis.

    ?

  • TLB Pct Busy - The number of L2 TLB translation enginse busy in a cycle.
  • Note: The TLB busy information only shows on a z16 or higher.

  • ESAPLDV - Shows processor local dispatch vector activity

    ?

  • VMDBK Moves - Shows the number of VMDBKs that moved to a different processor. Either from processor to processor or from a slave processor to the master processor. Watch for any large fluctuations. If the number of VMDBK's moved to the master starts to climb or has a sharp increase, investigation is needed to determine what is being run that must run on the master.
  • CPU Steals from Other CPUs - This shows when VMDBKs were moved from all the different levels of cache. The farther out a steal goes, the more time it takes and the worse the performance. This is another way to determine if SMT is working for a system. (Be sure to get benchmark numbers before turning on SMT). Also, if there are numbers in columns other than N1, the LPAR may be defined inefficiently and should be corrected. Note the numbers in the NL2 column in this report - this WAS causing issues.

  • Back to top of page
    Back to Flow Chart main page