0

I have a web server(Solaris) that is running apache, mysql and nodejs. It is constantly near the max usage of the 1gb physical memory, here's an example from virtualmin:

Webmin version  1.520   
Virtualmin version  3.81.gpl GPL 
Theme version       7.8     
Time on server  28/Jun/2011 17:58 Kernel and CPU    SunOS 5.11 on i86pc      
CPU load averages   2.21 (1 min) 2.16 (5 mins) 2.07 (15 mins)
Running processes   141      
Real memory 1024 MB total, 934 MB used 
Virtual memory  2 GB total, 1.29 GB used 
Local disk space    16.13 GB total, 2.86 GB used

and here is a sample from top command:

load averages:  2.44,  2.39,  2.19;   
up 3+22:11:31   18:02:47 142
processes: 140 sleeping, 2 on cpu CPU
states: 76.3% idle, 16.1% user,  7.6%
kernel,  0.0% iowait,  0.0% swap
Memory: 32G phys mem, 1072M free mem,
76G total swap, 76G free swap PID

After googling "server memory usage solaris" I think I should be ok as long as my swap space isn't full? But I'm not too sure and wanted to get inputs on my situation.

3
  • Does it negatively affect performance (to below required levels) in a provable manner?
    – pst
    Jun 28, 2011 at 18:07
  • I'm trying to make sense of "32G phys mem" from your top output. Please send the output of echo ::memstat | mdb -k and ps -ef for the revelant processes (include headers). Also, do you use ZFS on this machine? It could use all available memory for ARC (but it releases it if other parts of the system request). Jun 29, 2011 at 18:14
  • I know this is not Linux, but see linuxatemyram.com
    – bwDraco
    Sep 21, 2013 at 2:18

4 Answers 4

3

A good operating system always uses as much RAM as possible to avoid the latency of disk accesses. A server load of over 2 may be cause for concern if there's only one processor, but using RAM without having to swap is not a problem.

2

Solaris isn't going to have the procps package needed to run free, as that utilizes kernel functions of Linux.

For viewing the memory usage of a Solaris server, almost every possible method is iterated in this StackOverflow question: Methods of Viewing Memory Usage on Solaris

top will be one of your better bets here as you will easily be able to see who is consuming the memory and if you should even be worried at all.

I highly recommend some software like sar or collectd to keep logs of your memory and CPU utilization, for capacity planning purposes.

0

What does 'free' at the prompt show? Memory usage will always be at/near maximum on modern OS's, because unused ram is a waste. The OS will silently take up as much memory as it thinks is prudent and use it for buffers/caches, and transparently kill those caches when the memory is required by processes. Don't have access to a Solaris box right now, but here's 'free' output from my Linux box:

             total       used       free     shared    buffers     cached
Mem:       2058188    2003372      54816          0     183784    1620076
-/+ buffers/cache:     199512    1858676
Swap:      1052248          0    1052248

2gig of ram, with only 54.8meg "free". But once you eliminate buffers/cache, it's actually 1.85gig available for programs.

0

I would also highly recommend using sar so you track what's happening all the time. The amount of memory allocated doesn't really matter. What matters is if the system is getting slowed down due to memory contention. You pretty much want to keep the "pgscan/s" column from "sar -g" at 0 all the time. Paging just isn't a useful way to expand memory space anymore.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy