home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / CLIPPER / CLIPTIPS.ZIP / SUPTBULL.ZIP / S50011.TXT < prev   
Text File  |  1992-05-28  |  7KB  |  160 lines

  1. Clipper Support Bulletin #11
  2. //INFO runtime configuration setting
  3.  
  4. Copyright (c) 1992 Nantucket Corporation.  All rights reserved.
  5.  
  6.  
  7. Version:  Clipper 5.0, version 5.01
  8. Date:     23rd April, 1992
  9. Revised:  22nd May, 1992
  10. Status:   Active
  11.  
  12. ================================================================================
  13.  
  14. This Support Bulletin covers the following topics:
  15.  
  16.    1. Overview of //INFO
  17.    2. The DS Address Indicator
  18.    3. The DS Available Indicator
  19.    4. The OS Available Indicator
  20.    5. The EMM Available Indicator
  21.    6. The Fixed Heap Available Indicator
  22.  
  23. ===============================================================================
  24. 1. Overview of //INFO
  25.    
  26.    Clipper 5.0, version 5.01 supports a runtime configuration setting
  27.    that gives information about the state of an application program
  28.    when you load it.  This configuration setting is //INFO.  You can
  29.    specify this setting in the CLIPPER environment variable or on the
  30.    application command line.
  31.    
  32.    When you invoke the application with the //INFO runtime
  33.    configuration setting specified, the following information
  34.    displays on the screen before your application code begins
  35.    execution:
  36.    
  37.    Clipper (R) 5.01 Rev. 1.29 ASCII
  38.    DS=829E:0000  DS avail=37KB  OS avail=53KB  EMM avail=1024KB
  39.    
  40.    This is a typical //INFO line (actually, it is displayed when
  41.    invoking DBU).  The first line describes the general product
  42.    version, revision, and international version.  For example,
  43.    "ASCII" means you created the program using the US version of
  44.    Clipper 5.0 and therefore all nation-dependent operations such as
  45.    sorting are oriented around ASCII definition or characters.
  46.    
  47.    The second line contains information about the memory environment
  48.    the application program will be operating under.  Some of this
  49.    information is useful, some is not.  The descriptions below define
  50.    the meaning and usefulness of each indicator.
  51.    
  52. ================================================================================
  53. 2. The DS Address Indicator
  54.    
  55.    The DS address indicator has the following form:
  56.    
  57.    DS=<offset>:0000
  58.    
  59.    This is address of the program's data segment or DGROUP. This
  60.    value is essentially useless to anyone outside of Nantucket.
  61.    
  62. ================================================================================
  63. 3. The DS Available Indicator
  64.    
  65.    The DS available indicator has the following form:
  66.    
  67.    DS avail=<memory>KB
  68.    
  69.    This indicator shows the amount of DGROUP available for the
  70.    current program's usage when the program starts.  Clipper 5.0
  71.    makes very heavy use of the default DGROUP.  The internal
  72.    evaluation stack, along with all local and static variables, is
  73.    allocated in this area.  In addition, the processor stack is also
  74.    allocated there, as with all Microsoft C programs.
  75.    
  76.    If your system defines large amounts of static near data, you may
  77.    be substantially reducing the amount of memory available for local
  78.    and static variables at the Clipper level, and also reducing the
  79.    amount of recursion that the Clipper program can perform.
  80.    
  81.    To determine how much DGROUP your program uses:
  82.    
  83.    1.Invoke the program using //INFO
  84.       
  85.    2.Note the DS avail value
  86.       
  87.    To determine how much DGROUP a particular library uses:
  88.    
  89.    1.Link the application without the third-party library (ignoring
  90.       all of the linker warnings about unresolved externals)
  91.       
  92.    2.Invoke the program, and note the DS avail number (the machine
  93.       may hang at this point due to the missing functions).
  94.       
  95.    3.Link the program again with the library
  96.       
  97.    4.Invoke the program again and note the new DS avail value.  The
  98.       difference between the first and second values shows how much
  99.       DGROUP the library is using.
  100.       
  101.    If you are having problems with "Eval stack fault," unrecoverable
  102.    errors, and linking multiple third-party libraries, you should
  103.    perform this analysis with each library individually to find the
  104.    DGROUP hog. You should then contact the vendor to informing them
  105.    of the problem.
  106.    
  107. ================================================================================
  108. 4. The OS Available Indicator
  109.    
  110.    The OS available indicator has the following form:
  111.    
  112.    OS avail=<memory>KB
  113.    
  114.    This indicator shows the amount of conventional memory available
  115.    for VMM swap space.  If the reported OS avail value is too low,
  116.    there is strong possibility the program will terminate with a
  117.    "Conventional Memory Exhausted" unrecoverable error.  Because of
  118.    the dynamic nature of the Clipper 5.0 memory system, the precise
  119.    amount of memory needed to effectively run an application is not
  120.    known.  However, the minimum effective value should exceed 100KB.
  121.    (For more information on Clipper's virtual memory management,
  122.    please see Clipper Support Bulletin #3, located in library 16 of
  123.    NANFORUM on CompuServe.)
  124.    
  125. ================================================================================
  126. 5. The EMM Available Indicator
  127.    
  128.    The EMM available indicator has the following form:
  129.    
  130.    EMM avail=<EMM memory>KB
  131.    
  132.    This indicator shows the amount of EMM (expanded memory) allocated
  133.    to the current application.  This value reflects the lesser of the
  134.    total EMM available and the //E configuration setting.
  135.    
  136.    A "(P)" following the EMM avail value appears when the application
  137.    has been loaded with the //BADCACHE configuration setting.
  138.    //BADCACHE causes the VMM to preserve and restore the state of the
  139.    EMM page frame before and after every EMM access (the EMM page
  140.    frame is an area in real address space through which EMM data is
  141.    accessed).  This setting can be used to correct problems when
  142.    there are conflicts with other programs that use EMM.
  143.    
  144. ================================================================================
  145. 6. The Fixed Heap Available Indicator
  146.    
  147.    The fixed heap available indicator has the following form:
  148.    
  149.    Fixed heap=<fixed heap>KB/<number of fixed segments>
  150.    
  151.    This indicator appears when the application terminates.  It shows
  152.    the size of the fixed heap in kilobyte increments in addition to
  153.    the number of fixed segments.  These numbers are not very useful.
  154.    They indicate trouble if the values are too high.  Importantly,
  155.    they increase if the fixed heap becomes fragmented through use of
  156.    _xalloc()/_xfree().
  157.    
  158.  
  159.                               *  *  *
  160.