Solaris Memory Reporting using TOP

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 ?


Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

blowfishConnect With a Mentor Commented:
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.  
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?

leon_judgeAuthor Commented:
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 ?

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

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

Take a look at here:

The file that you need to download is:

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

leon_judgeAuthor Commented:
I have managed to download the top 2.5 beta.
What do i do with it now ?
leon_judgeAuthor Commented:
Thanks very much.
All installed and now reports 1024M Real !
Your a star!  and you also taught me some unix !
Thanks again
All Courses

From novice to tech pro — start learning today.