Hi, BigAdmin people! dnlcmon is freeware. It lets you see the values related to the DNLC (Directory Name Lookup Cache) and how it is being used by Solaris SPARC. This utility is a spinoff from our development of SarCheck for Solaris SPARC, and we're providing it for free as a way of thanking the Solaris community for the success of SarCheck. The default output of dnlcmon looks like this:
dnlchits= 76829 dnlcmisses= 5488 dnlchitpct= 93.3 cachefree= 228 lotsfree= 114 numcpus= 1 actvcpus= 1 for info: dnlcmon -help
You can timestamp the output and get rid of the message at the end with the -q and -t switches, and you'll get this:
11:55:50 dnlchits= 76933 dnlcmisses= 5489 dnlchitpct= 93.3 cachefree= 228 lotsfree= 114 numcpus= 1 actvcpus= 1
More information about switches can be found in the usage text. This page contains the usage text, license text, information on how to interpret dnlcmon's output, and finally, a downloadable copy of dnlcmon.
requirements
Resource utilization is trivial but you do need to be root to run dnlcmon. There are separate 32-bit and 64-bit binaries. CPU utilization should still be a small fraction of a second of one processor's time.
usage text
usage: dnlcmon [-q] [-t] [-license] -q don't append messages to the end of the output line -t precede the output with a timestamp -license send the license agreement to stdout This program sends the values of various kstat & sysconf data to stdout in a parsable format. Any invalid argument or incorrect number of arguments will cause this usage text to display instead of the expected data. This program was designed to gather data from the kstat interface and make it available for use by human performance analysts or by our SarCheck performance analysis utility. More information about SarCheck can be found at www.sarcheck.com Please take a look at the license agreement for this program. It's free to use and distribute, and the details can be seen by using the -license switch, ideally piped to more because it's about 70 lines long. We hope that it helps you to better understand the way your system uses memory. Copyright 2002-2004 by Aptitune Corporation, Plaistow NH USA http://www.aptitune.com/ http://www.aptitune.co.uk/ http://www.sarcheck.com/
license text
Aptitune Corporation PO Box 1033, Plaistow NH 03865 USA email: sales@sarcheck.com Phone: 1-603-382-4200; Fax: 1-603-382-4247 http://www.sarcheck.com FREE SOFTWARE LICENSE AGREEMENT TERMS AND CONDITIONS CAREFULLY READ ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT. USING THIS PROGRAM CONSTITUTES YOUR ACCEPTANCE OF THESE TERMS AND CONDITIONS. If you do not agree to the following terms and conditions, no license is granted hereunder and you are not authorized to use Aptitune Corporation's dnlcmon program. 1. LICENSE: Aptitune grants to you a royalty-free, worldwide, perpetual, right and license to use the Program, including the right to make copies of the Program. YOU MAY NOT DECOMPILE, REVERSE ENGINEER, OR OTHERWISE DISASSEMBLE OR MODIFY THE PROGRAM OR ANY PART THEREOF. 2. In the event that you copy or transfer the Program, you agree to reproduce the Program in its entirety, including the copyright notice. 3. TERMINATION: This license will terminate immediately and without notice upon your failure to comply with any term or condition of this Agreement. You agree, upon such termination, to destroy all copies of the Program. 4. NO WARRANTY: THE PROGRAM IS PROVIDED TO YOU FREE OF CHARGE AND FOR NO CONSIDERATION AND APTITUNE DISCLAIMS ALL WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES AS TO THE SUITABILITY OF THE PROGRAM FOR YOUR PURPOSES, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL APTITUNE BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING LOSS OF ANTICIPATED PROFITS, OR ANY DIRECT, INCIDENTAL, EXEMPLARY, SPECIAL, OR CONSEQUENTIAL DAMAGES. THE PROGRAM IS PROVIDED TO YOU "AS IS, WHERE IS", AND WITH ALL FAULTS AND WITHOUT ANY WARRANTIES OF ANY KIND. 5. INDEMNIFICATION BY LICENSEE: You agree to indemnify Aptitune from, and hold Aptitune harmless against, any claim or action by any third party arising out of or related to your operation or use of the Program, provided that such indemnification shall not apply to any claim or action by any third party alleging that the Program, as supplied to you by Aptitune, infringes the proprietary rights of any third party. 6. CHOICE OF LAW: This license shall be governed and construed in accordance with the laws of the State of New Hampshire, without giving effect to its conflicts of laws principles, and the Courts of which shall have exclusive jurisdiction over any dispute arising hereunder 7. ACKNOWLEDGMENT: YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT, UNDERSTAND IT, AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. YOU ALSO AGREE THAT THIS AGREEMENT IS THE COMPLETE AND EXCLUSIVE STATEMENT OF AGREEMENT BETWEEN THE PARTIES AND SUPERSEDES ALL PRIOR PROPOSALS, AGREEMENTS, OR UNDERSTANDINGS, WRITTEN OR ORAL, WITH RESPECT TO THE SUBJECT MATTER OF THIS AGREEMENT. Should you have any questions concerning this Agreement, please contact in writing Aptitune Corporation, PO Box 1033, Plaistow NH 03865 USA
Here is dnlcmon. For MSIE, use the right mouse button to click on one of the following links for either version:
and select "Save Target As". For other browsers, check the documentation. If you're FTPing this file and there's a PC involved, be sure that the PC knows that this file is binary and not text.
We hope that you'll find dnlcmon to be a useful tool and we encourage you to distribute it throughout the Solaris community. And of course, we hope you'll request an evaluation copy of SarCheck for Solaris SPARC if you want to see what we really do and why we built dnlcmon.
Interpreting
dnlcmon's output
Here are descriptions of the parameters reported by
dnlcmon:
The dnlchits and dnlcmisses fields are just counters. You'll have to calculate the number of hits and/or misses per second for yourself. If the size of free memory is usually less than the value of lotsfree or the scan rate frequently is >0, the system may need more memory. Not all versions of the operating system have a cachefree parameter. The numcpus and actvcpus fields don't have anything to do with the DNLC, they're used by SarCheck for other monitoring purposes.
Signs that the DNLC is too small:
Signs that the DNLC is too big (hint - adding memory is usually the real answer):