Solaris Memory Reporting using TOP

Posted on 2003-02-19
Medium Priority
Last Modified: 2013-12-21
I have a SUN E450 running Solaris 2.5.1.
There are 4 memory banks (4 dimms per bank) and two banks are populated giving a total of 1gb (8 * 128mb)

In solaris when i run prtconf |grep Mem the result is 1024mb

when i run prtdiag it sells me that 8 * slots are popluated (128mb each)


When i run TOP it says

Memory: 513M real, 8068K free, 171M swap, 1264M free swap

We are running low on memory, as far as TOP can see so swap activity is also up.

I am unsure whether this is related (and i dont know what TOP reported before) but we removed a processor two weeks ago to run some performamce monitoring for our Oracle application.  It is still single processor but unless you can assign (in unix) how much memory is reserved per proc then i doubt this is the issue...

Any ideas ?


Question by:leon_judge
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3

Expert Comment

ID: 7985159
What version of top are you running?

I just ran top on an E450 with 2GB ram, Solaris 7.  Top version is 3.5beta12.  (press "?" to see the version).

On this system, the amount of real memory is reported correctly:

Memory: 2048M real, 149M free, 1260M swap in use, 4323M swap free

I have also checked an E450 with 1GB ram, and one with 4GB ram,  all reported correctly.  The 4GB system is running top 3.5beta8.  

Are you up-to-date on your Solaris patches?


Author Comment

ID: 7986550
The version of TOP is 3.3.

To be honest we wont be up to date on patches at all.  The system has been managed over the last few years by another organisation and they only really looked after our oracle db and ignored the UNIX bits.
My expertise is quite limited as far as unix goes but ij just wanted to make sure that there wasnt a config file somewhere that set how much RAM was allocated to the UNIX operating environment.

It could just be an old version of TOP ?


Expert Comment

ID: 7989015
I suspect that it is the old version of top.  You can get a recent copy of top, compiled for Solaris from SunFreeware.com.  

Take a look at here: http://www.sunfreeware.com/solaris_2.5_list.html

The file that you need to download is:  ftp://ftp.sunfreeware.com/pub/freeware/sparc/2.5/top-3.5beta12-sol25-sparc-local.gz

If you need help getting the package installed once you have got it, let me know, I will provide some instructions.  

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 8007568
I have managed to download the top 2.5 beta.
What do i do with it now ?

Accepted Solution

blowfish earned 1200 total points
ID: 8009750
The file you downloaded is in Solaris pkgadd format, and it has been compressed using the GNU zip program.  It has been configured and built for installation into the /usr/local directory.  

First, you will need to be root to do most of this.  

Next, do you have a program named "gunzip", on your system?  

Now, uncompress the file with the following command:

  # gunzip top-3.5beta12-sol25-sparc-local.gz

Next, add the package with the following command:

  # pkgadd -d ./top-3.5beta12-sol25-sparc-local

You will be told that one package is available, it's name is SMCtop.  The default response is to press enter, and add all packages, so do that.  

During the pkgadd process you may be warned that scripts will be run with superuser rights, and you may be asked to confirm that this is okay, it is safe to repy "y".  You will be warned that programs will be installed with "setuid" or "setgid" permissions, you need to reply "y" to this question.  You may also be warned that the installation process will create directories in /usr/local, or change the permissions of that directory or it's subdirectories, it is safe to accept this also.  

Once your package is installed, you can run it, by invoking this command:  

  # /usr/local/bin/top

Check that you are running the new version by pressing the "?" key.  

You should also be able to run top as a regular user.  Try it, and let me know.  If you cannot, I will give you the commands to do so.  

Author Comment

ID: 8010050
Thanks very much.
All installed and now reports 1024M Real !
Your a star!  and you also taught me some unix !
Thanks again

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Attention: This article will no longer be maintained. If you have any questions, please feel free to mail me. jgh@FreeBSD.org Please see http://www.freebsd.org/doc/en_US.ISO8859-1/articles/freebsd-update-server/ for the updated article. It is avail…
Let's say you need to move the data of a file system from one partition to another. This generally involves dismounting the file system, backing it up to tapes, and restoring it to a new partition. You may also copy the file system from one place to…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Suggested Courses

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question