Solved

How can I track memory utilisation on a Solaris10 server

Posted on 2008-10-09
5
889 Views
Last Modified: 2013-12-27
I have a Solaris10 server running two non-global zones. OVPA is running on the global zone and tells me that the memory utilisation is climbing day on day. However when I do a 'ps -elfZ' over a period of time the SZ column does not show the same increase. In fact day on day it is broadly the same. The increase may well be the buffer cache as 'ps' will not be counting this, so how might I be able to prove this.
What will happen when memory utilisation (according to OVPA) reaches 100%.
Oracle is running on one of the zones.
0
Comment
Question by:wasfg01
  • 2
  • 2
5 Comments
 
LVL 5

Expert Comment

by:awa2008
ID: 22676778
Hello,

You can use : prstat -Z

you see details by zone  like this example

but on this system you have no non global zone only global zone zoneid 0

but in your case you must see other line by zone

   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP
  1253 http       16M   13M sleep   59    0   0:04:19 0.0% httpd/29
 27204 root     3608K 3600K cpu0    59    0   0:00:00 0.0% prstat/1
  1238 root     5920K 3440K sleep   59    0   0:01:31 0.0% rotatelogs/1
  1252 http       16M   13M sleep   59    0   0:04:26 0.0% httpd/29
  1251 http       16M   13M sleep   59    0   0:04:33 0.0% httpd/29
  1313 noaccess  178M  102M sleep   59    0   0:31:15 0.0% java/39
 27200 root     3168K 2768K sleep   59    0   0:00:00 0.0% bash/1
  1361 root       16M   14M sleep   59    0   0:11:51 0.0% ovcd/28
   121 daemon   4664K 3664K sleep   59    0   0:00:03 0.0% kcfd/5
   291 root     2088K 1232K sleep   59    0   0:00:00 0.0% smcboot/1
 26450 root     2568K 2168K sleep   59    0   0:00:00 0.0% ttymon/1
   270 root     2512K 2008K sleep   59    0   0:00:00 0.0% ttymon/1
   258 root     2176K 1672K sleep   59    0   0:00:00 0.0% sac/1
  1231 root     9248K 6064K sleep   59    0   0:01:17 0.0% httpd/1
   292 root     2088K 1232K sleep   59    0   0:00:00 0.0% smcboot/1
   254 root     7024K 5392K sleep   59    0   0:00:17 0.0% inetd/4
   142 root     6144K 5584K sleep   59    0   0:01:17 0.0% nscd/31
   377 root     5152K 1848K sleep   59    0   0:00:00 0.0% automountd/2
   252 daemon   2464K 2080K sleep   60  -20   0:00:00 0.0% lockd/2
   248 daemon   2872K 2544K sleep   59    0   0:00:00 0.0% statd/1
   132 root     4712K 4128K sleep   59    0   0:00:01 0.0% picld/6
   241 daemon   2872K 2360K sleep   59    0   0:00:00 0.0% rpcbind/1
   212 root     1440K 1032K sleep   59    0   0:00:00 0.0% efdaemon/1
   120 root     3592K 2912K sleep   59    0   0:00:00 0.0% devfsadm/7
ZONEID    NPROC  SWAP   RSS MEMORY      TIME  CPU ZONE
     0       81  300M  423M   2.6%   1:35:56 0.2% global



You can use dtrace too some scripts you can use for your probleme  :

http://prefetch.net/articles/solaris.dtracetopten.html

http://prefetch.net/articles/dtracecookbook.html


http://www.brendangregg.com/dtrace.html#DTraceToolkit





I hope that help you

Regards
0
 

Author Comment

by:wasfg01
ID: 22677186
prstat -Z is giving me similar numbers to ps -elfZ. I am worried that when memory util (according to OVPS) reaches 100% we will see lots of bad paging going on, annonymous and executables, which will slow things down considerably.
I doubt I will get authority to run 3rd party scripts on this box unfortunately, which I have to say look very useful.
Can I be sure that it is the filesystem buffer cache that is getting bigger and therefore doing what it is supposed to do?
0
 
LVL 5

Assisted Solution

by:awa2008
awa2008 earned 60 total points
ID: 22677266
hello ,

dtrace is a standard tools of solaris10

it is just script you copy and paste

about solaris filesystem cache you can found maybe info at this url :

http://www.solarisinternals.com/si/reading/sunworldonline/swol-07-1999/swol-07-filesystem3.html

but you should look at your appli oracle for see what is the root cause of probleme

maybe some process oracle go to infinte loop


Regards
0
 
LVL 4

Accepted Solution

by:
urgoll earned 65 total points
ID: 22678348
Regarding your concern:
    The increase may well be the buffer cache as 'ps' will not be counting this, so how might I be able to prove this.

The tool you need is mdb. Look at snippet for a sample output for a server with 8GB of memory, where the kernel uses 3355MB, the page cache (your buffer cache) uses 153MB and there is 1939MB of free memory.

Also note that if you are using ZFS in Solaris 10, the ZFS buffer is accounted as kernel memory, not page cache (hence the very large 3355MB of kernel memory in the sample output). To get more insight into the ZFS ARC (as the ZFS buffer is called), there's a handy script at:
http://cuddletech.com/arc_summary.html

Note however that 'free' memory is effectively wasted, as it is not working for you (in the same way that money in your pocket is not generating interests). Solaris tries to minimize free memory (up to a point) by caching block device access so as to speed-up future disk access. Such buffers can be freed very easily should an application request more memory, so it is not a problem.

Hope this helps,
Christophe
# mdb -k

Loading modules: [ unix krtld genunix specfs dtrace cpu.AuthenticAMD.15 ufs md ip sctp usba fcp 

fctl lofs zfs random nfs crypto fcip cpc logindmux ptm ipc ]

> ::memstat

Page Summary                Pages                MB  %Tot

------------     ----------------  ----------------  ----

Kernel                     859062              3355   41%

Anon                       675625              2639   32%

Exec and libs                7994                31    0%

Page cache                  39319               153    2%

Free (cachelist)           110881               433    5%

Free (freelist)            385592              1506   19%
 

Total                     2078473              8119

Physical                  2049122              8004

Open in new window

0
 

Author Closing Comment

by:wasfg01
ID: 31504579
Thanks guys. This turned out to be more complex than I first thought. Appreciate your time.
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Installing FreeBSD… FreeBSD is a darling of an operating system. The stability and usability make it a clear choice for servers and desktops (for the cunning). Savvy?  The Ports collection makes available every popular FOSS application and packag…
FreeBSD on EC2 FreeBSD (https://www.freebsd.org) is a robust Unix-like operating system that has been around for many years. FreeBSD is available on Amazon EC2 through Amazon Machine Images (AMIs) provided by FreeBSD developer and security office…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
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.:

743 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

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now