Tag Archives: unix

Using NMON to obtain system performance info in AIX and Linux SO

Hello there!

There is an excellent TN about how to use NMON in Unix SOs to get precious system performance info. The link is below:


I’ve just copied the entire tex to here, if you don’t have access to this TN page:

When troubleshooting MicroStrategy Intelligence Server performance issues, it is often helpful to get data on general system performance, such as CPU usage, file system activity, memory load, as well as system configuration details. There is a freely-available utility called NMON which collects extensive data in AIX and Linux environments. A companion tool, NMON Analyser, formats the raw data into separate Microsoft Excel worksheets with activity graphs.


Solaris has a similar type of logging, called SAR logs. NMON Analyser may not be used with SAR logs.


Issues for which this data might be useful include but are not limited to the following:


  • Slow MicroStrategy Intelligence Server performance
  • Hanging issues with MicroStrategy Intelligence Server
  • Out of memory issues that are not due to memory space fragmentation (fragmentation should generally not be a problem in 64-bit systems)
  • Issues involving communication with the database connection processes (‘System call’ errors in the DSSErrors.log)
Consult the following IBM web pages for more details on the utilities, as well as links to download the software:


  1. NMON: http://www.ibm.com/developerworks/aix/library/au-analyze_aix/
  2. NMON Analyser: http://www.ibm.com/developerworks/aix/library/au-nmon_analyser/
Using NMON
NMON comes in two versions: nmon for 32-bit systems, and nmon64 for 64-bit systems. Since MicroStrategy Intelligence Server Universal is certified only for 64-bit systems, nmon64 should be used.


Data volume is an important consideration when using NMON, particularly if the NMON Analyser is going to be used. Because NMON Analyser is a Microsoft Excel worksheet, there is an inherent limitation on the number of rows that may be imported. Nigel Griffiths, the author of NMON, recommends no more than 300-600 snapshots be taken in a single NMON file. Also, if the snapshots are too close together, it can be more difficult to discern trends. Snapshots should generally be taken no more often than one snapshots per 5-10 seconds, preferably less frequently.


NMON’s commandline parameters include the number of snapshots to take (-c for count) and the number of seconds between snapshots (-s). Thus, for single file logging, divide the total logging duration in seconds by the number of snapshots desired. For example, to capture one hour’s worth of information and take 600 samples, 3600 seconds / 600 samples = 6 seconds/sample. In this case, the command would be:


nmon64 -c 600 -s 6 -T -F /location/of/log-file.nmon

If logging is needed for a longer duration than can fit comfortably into one file, there are two options.


  • A shell script may be used to launch nmon64 periodically with a new filename each time. This would produce a series of .nmon files that can be opened individually in NMON Analyser.
  • NMON Analyser ships with a Perl script to divide a long .nmon file into several shorter ones. Consult the NMON Analyser documentation that ships with the analyser for more details.
NOTE: While nmon64 is running, it switches to a background thread and returns control to the shell. It may look like the utility has hung, but this is normal operation. If it is behaving correctly, the size of the output file will increase periodically, based on the sampling interval.



Using NMON Analyser
NMON Analyser is a Microsoft Excel workbook with a Visual Basic backend that reads the raw text output from NMON, distributes the different types of data across multiple worksheets, and produces charts of activity over time.


To execute the analyser on an NMON output file, perform the following steps:


  1. Ensure that Microsoft Excel is configured to allow macro execution. To check, go to Tools -> Macros -> Security. The security level should be Medium. (Low security will work also, but it is not recommended to prevent inadvertent execution of macro viruses.)
  2. Open the NMON Analyser workbook in Microsoft Excel. If prompted whether to allow macros, click ‘Enable macros.’
  3. Click a button on the front sheet labeled ‘Analyse nmon data.’
  4. A file-open dialogue will be presented. Navigate to the NMON file to be processed.
  5. After processing is complete, the user is prompted for a location and filename under which to save the resulting Microsoft Excel workbook.
Important: Some combinations of Microsoft Excel and MicroStrategy Office versions may not be able to execute NMON Analyser. If a Visual Basic error appears after clicking the ‘Analyse nmon data’ button, do the following to resolve the issue:


  1. Open the MicroStrategy Office options by clicking on the ‘Options’ button in the MicroStrategy Office toolbar. The options may also be reached from the Start menu -> Programs -> MicroStrategy -> Office -> Configuration.
  2. In the General section, uncheck the ‘Load in Excel’ box.
  3. Exit Microsoft Excel completely and re-launch the NMON Analyser worksheet.
MicroStrategy Office may be re-enabled for Microsoft Excel after the analysis is complete.


Reading NMON Analyser output
For MicroStrategy Intelligence Server performance issues, the following worksheets in the analyser output are most significant:


  • SYS_SUMM: A quick overview of CPU and file system activity.
  • CPU_ALL: Shows user, system and wait time averaged across all CPUs.
  • CPU_SUMM: Shows user, system and wait time for each CPU averaged over the logging time span.
  • DISK_SUMM: Shows disk read, write and I/O activity averaged over all disks.
  • FILE: UNIX kernel filesystem calls.
  • MEM: Physical RAM free over time.
  • MEMNEW: RAM usage percentage, divided among process allocation, file system cache allocation, and system allocation.
  • MEMUSE: Virtual memory tuning parameters compared to actual memory usage levels.
  • PAGE: Amount of memory page swapping to disk over time.
  • CPU1, CPU2 etc.: A separate graph of process or activity for each CPU is produced individually.
Specific figures should be interpreted in the context of the UNIX system implementation. Complete information may be found in operating-system documentation.


See also the NMON FAQ for additional details:



Hope it helps!


God bless you!

Enable Metric Logs for Linux using Command Line

Hello there!

Here is a quick tip to enable the MetricLogs required for using the Cube Advisor in Linux using command line.

Just go to the folder where is the mstrctl installed and type these lines:

 ./mstrctl -s IntelligenceServer ssc
    <log_destination n="MetricLevels" tp="3" max_size="2048" callstack_message_ids=""/>
 ./mstrctl -s IntelligenceServer ssc
   <logger n="Dynamic Sourcing">
    <dispatcher n="Metric Levels Log">
     <log_destination n="MetricLevels"/>


And after that, type this line:

./mstrctl -s IntelligenceServer gsc >> /tmp/a.txt

Then, restart IS:
./mstrctl -s IntelligenceServer stop
./mstrctl -s IntelligenceServer start

That's it.

Hope it helps.

God bless you.