Skip navigation
All Places > Licensing and Installation > Blog > 2013 > April
2013

If you are experiencing slow invocation times with one or more of your Mentor Graphics applications - here are some general tips and techniques, as well as application-specific options (for Expedition PCB and PADS Layout), that are available for use:

 

 

  1. Check your licensing environment for any invalid or duplicate license server (port@host) references.

 

  • If you find any, remove them.
  • A quick and easy tool for editing your licensing environment is the Mentor License Utility:

Using the Mentor License Utility to query and edit the licensing environment (video)

 

Note: Before making any changes to the environment you can back-up your current settings via the 'File>Export Environment' menu-pick. To import previously saved settings navigate to 'File>Import Environment'.

 

pic1.jpg

pic2.jpg

 

2. Check your licensing environment for any license files containing un-edited lines starting with "SERVER put_server_name_here"

 

pic3.jpg

 

  • If you find any, AND your machine is NOT intended to be a license server:
    • Add a pound/hash character at the beginning of the line and also the line after it (starts with "DAEMON")

 

pic4.jpg

 

3.  If you have any non-Mentor Graphics (mgcld daemon) license files or port@host references in your environment

  • Make sure all your Mentor Graphics (mgcld daemon) licenses and port@host references reside under the MGLS_LICENSE_FILE environment variable
    • If not, you can use the Mentor License Utility to move them

pic5.jpg

 

pic6.jpg

 

3b. If you have any non-Mentor Graphics (mgcld daemon) license files or port@host references set in the LM_LICENSE_FILE environment variable or registry entry

  • Set the MGLS_LICENSE_SEARCH environment variable to a value of 1. When set, Mentor Graphics licensing will ignore the LM_LICENSE_FILE values (and other vendor licenses) if it finds that the MGLS_LICENSE_FILE is set.

pic7.jpg

How to set or edit an environment variable on Windows

 

 

4. Use any application-specific license options/dialogs to reduce the number of licenses that get checked during the invocation

 

  • Two good example applications are Expedition PCB and PADS Layout, both of which check for many licenses on invocation in order to enable as many options as possible.

    • Note: This information only applies to users pointing to a license server for licenses
    • The reason it's not necessary to take these measures with a local Mobile Compute (a.k.a. Nodelocked Uncounted) license file, is because the checkouts are much quicker (no network latency), so any additional checks shouldn't add any noticeable delays to the invocation.

 

 

Expedition PCB

 

  • The default behavior is to check for all the options licenses in order to display the following dialog. In this example only the base licenses for Expedition Pinnacle, Ascent LX, and Ascent.

pic8.jpg

 

  • If it is taking a long time for the above dialog to appear, there are two options available:

 

     A). Set the MGC_DISABLE_PRESPLASH_CHECKS environment variable to 1.

 

pic9.jpg

 

  • The MGC_DISABLE_PRESPLASH_CHECKS variable changes the number of licenses the Expedition checks for on invocation. Instead of checking for every option license it only looks for a base license (for Pinnacle, Ascent LX, or Ascent).
  • When the license selection dialog appears, all options are selectable regardless of whether or not a license exists and is available.
    • If you select an option that you don't have a license for (or it's not available) you will get a licensing warning after you click OK (and before Expedition comes up)
    • This option works well if you just want to select one of the first 4 radio buttons (for Pinnacle, Ascent LX, Ascent, or Xtreme Design Client), and checkout (and in) any option licenses via the 'Setup>Licensed Modules' menu-pick (on-demand licensing).

 

pic10.jpg

 

     B). Add one of the following switches to the Expedition PCB Start Menu shortcut target path:

 

     /pinnacle

     /ascentlx

     /ascent

 

  • Right click on the Expedition PCB shortcut, and select "Properties".
  • Add the switch to the end of the "Target" field (add a space in-between)
  • Click Apply and OK.

pic11.jpg

  • With any of these switches in place, Expedition will bypass the license selection dialog and go directly into the requested mode (for Pinnacle, Ascent LX, or Ascent), provided the licenses are available.
    • You can then checkout (and in) any option licenses via the 'Setup>Licensed Modules' menu-pick

 

 

PADS Layout

 

  • By default PADS Layout checks for all available options as seen in the 'Help>Installed Options...' dialog.

pic12.png

 

  • To change the behavior and have PADS Layout look for only those licenses that you have available, you can uncheck the 'Checkout all available options' and then uncheck the 'Not Available' options.
    • Note: If you add option licenses to your license server, PADS Layout will not pick these up (it's no longer looking for all available licenses). You would need to set the 'Checkout all available options' again, temporarily, to see what new options have become available.

pic13.png

The server hostids of the licenses to be combined must be identical. For example:
License file 1: SERVER mozart 0050CCA420A3 1717
License file 2: SERVER server 0050CCA420A3 1700
In this example, the MAC address of the machine being used for the server is being used as the hostid and the server hostid of each file is exactly the same: 0050CCA420A3.

 

You can either group all of the DAEMON lines together at the beginning of the file:


SERVER mozart 0050CCA420A3 1717
DAEMON mgcld C:\MentorGraphics\Licensing\mgcld.exe
DAEMON summit.d C:\Summit\summit.d

 

Or you can separate licenses according to daemon:


SERVER mozart 0050CCA420A3 1717
DAEMON mgcld C:\MentorGraphics\Licensing\mgcld.exe
INCREMENT padses_c ...

DAEMON summit.d C:\Summit\summit.d

INCREMENT summit.d...

 

Note: The DAEMON line must appear in the license file before the first INCREMENT line that utilizes that vendor daemon.

 

Please refer to Configuring a Mentor Graphics License Server on Windows (Video) for a demo of creating the license manager service.

It is important to know what platform and operating system you have in order to verify that your system configuration is supported. On Linux platforms, this is not immediately obvious. This week’s Tip of the Week will help you get that information.

 

There are two key pieces of information you need to put this together: The release name and the kernel version.

 

To get the release name, login to the system you want to verify and cat the release information file:

 

cat /etc/redhat-release (Red Hat Enterprise Linux)

cat /etc/SuSE-release (Novell SuSE Enterprise Linux)

 

This will give you the base release information.

 

To get the kernel version, run the command ‘uname –a’. The kernel version is the third field of the output:

 

Linux envlsf1 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:14 EST 2007 x86_64 x86_64 x86_64 GNU/Linux

 

Once you have these key pieces of information, it is easy to determine which specific version of Linux you have using a search on the internet. Below are links to a few useful documents that list the version information for Red Hat and SuSE Linux.

 

http://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux#RHEL5

http://www.novell.com/support/kb/doc.php?id=3594951

We often see strange problems when the wrong characters are used to separate multiple license servers or license files in either the MGLS_LICENSE_FILE or LM_LICENSE_FILE variable.

 

The FlexNet standard is as follows:

 

 

Multiple independent servers and/or license files - colon ":" on Unix/Linux and semicolon ";" on Windows

 

For ex: MGLS_LICENSE_FILE=1717@server1;1717@server2;C:\MentorGraphics\License_Files\local_license.dat

 

This is a Windows example and the semicolons are used because a colon indicates a drive letter. Use colons on Unix/Linux.

 

 

A set of redundant servers - commas on both Windows and Linux

 

For ex: MGLS_LICENSE_FILE=1717@serverA,1717@serverB,1717@serverC:1717@local_server

 

Notice that the servers in the redundant cluster of serverA/serverB/serverC are separated by commas but the cluster as a whole is separated by a colon from the independent local_server. This would be a Unix/Linux example.