Sponsored Content
Operating Systems Solaris Where is my memory? How to fix it ? Post 303037755 by ron323232 on Tuesday 13th of August 2019 02:41:29 AM
Old 08-13-2019
Where is my memory? How to fix it ?

Hello,

I have few Solaris 11.2 servers. Since sometime, we are noticing high memory utilization in them.
Here is current config

Code:
root@ser22-zonemgr:~# /tmp/memory.sh
        Physical memory size:            36864
        Memory usage in MB:              32938
        Memory usage in %:               89%
root@ser22-zonemgr:~#
root@ser22-zonemgr:~# echo ::memstat -v | mdb -k
Page Summary                 Pages             Bytes  %Tot
----------------- ----------------  ----------------  ----
Kernel                      721833              5.5G   15%
Guest                            0                 0    0%
ZFS Metadata                 74346            580.8M    2%
ZFS File Data               853646              6.5G   18%
Anon                       2351933             17.9G   50%
Exec and libs                 2369             18.5M    0%
Page cache                  222555              1.6G    5%
Free (cachelist)              4922             38.4M    0%
Free (freelist)             486988              3.7G   10%
Total                      4718592               36G
root@ser22-zonemgr:~#

From prstat -->
 NPROC USERNAME  SWAP   RSS MEMORY      TIME  CPU
   115 timesten   16G   15G    43%  76:49:22 1.6%
   106 root     2887M 2698M   7.3% 383:50:51 2.2%
     8 daemon     41M   56M   0.2%   1:15:31 0.0%
     8 pkg5srv    37M   38M   0.1%   1:07:26 0.0%
     8 john    12M   34M   0.1%   0:00:00 0.0%
     2 smmsp    3936K   13M   0.0%   0:03:25 0.0%
     2 netadm   3808K 9032K   0.0%   0:07:34 0.0%
     2 netcfg   2560K 6664K   0.0%   0:07:39 0.0%
     2 hspokes   2408K   15M   0.0%   0:00:00 0.0%
     2 noaccess 2088K 8096K   0.0%   0:00:02 0.0%

And here is from another server
Code:
ser42-zonemgr:~# /tmp/memory.sh
        Physical memory size:            16384
        Memory usage in MB:              14653
        Memory usage in %:               89%
ser42-zonemgr:~# echo ::memstat -v | mdb -k
Page Summary                 Pages             Bytes  %Tot
----------------- ----------------  ----------------  ----
Kernel                      674735              5.1G   32%
Defdump prealloc            119423            932.9M    6%
ZFS Metadata                111996            874.9M    5%
ZFS File Data               168163              1.2G    8%
Anon                        877423              6.6G   42%
Exec and libs                 2496             19.5M    0%
Page cache                   17788            138.9M    1%
Free (cachelist)                 7               56k    0%
Free (freelist)             216864              1.6G   10%
Total                      2097152               16G
ser42-zonemgr:~#

As I read few forums, I understood that the memory is filled with unmapped pages of data read from disk. It's kept in memory because those files may be read again and keeping the data in memory saves a disk read. That is where, OS is holding up memory. This is leaving less memory, which can be called as 'free'. Though whenever any application or DB needs that memory, OS will release. But our problem is, monitoring system. When total utilization hits 90% (right now it is 89%), it will page out SA.

What can be solution for this issue ?
Any recommendations ?

Thanks
 

9 More Discussions You Might Find Interesting

1. Programming

how to round up a memory address(memory alignment problem)

Hi, I try to marshal a unsigned int and a char * into a buffer, and then unmarshal them later to get them out. I need to put the char * in the front and unsigned int at the end of the buffer. However, my system always give me "BUS ERROR". I am using Sun Sparcs Sloris 2.10. My code to marshal... (6 Replies)
Discussion started by: nj302
6 Replies

2. HP-UX

How can I get memory usage or anything that show memory used from sar file?

Refer from title: How can i get memory used or anything that can show memory from sar file example on solaris:- we can use sar with option to show memory used at time that sar crontab run. on HP-UX, it not has option to see memory used. But i think it may be have some parameter or some... (1 Reply)
Discussion started by: panithat
1 Replies

3. AIX

ulimits max locked memory virtual memory

Hi, Would any one be so kind to explain me : are ulimits defined for each user seperately ? When ? Specialy what is the impact of : max locked memory and virtual memory on performance of applications for a user. Many thanks. PS : this is what I can see in MAN : ulimit ] ... (5 Replies)
Discussion started by: big123456
5 Replies

4. Solaris

How to find Total and Free Physical Memory and Logical Memory in SOLARIS 9

Hi, Im working on Solaris 9 on SPARC-32 bit running on an Ultra-80, and I have to find out the following:- 1. Total Physical Memory in the system(total RAM). 2. Available Physical Memory(i.e. RAM Usage) 3. Total (Logical) Memory in the system 4. Available (Logical) Memory. I know... (4 Replies)
Discussion started by: 0ktalmagik
4 Replies

5. Programming

How to deal with lots of data in memory in order not to run out of memory

Hi, I'm trying to learn how to manage memory when I have to deal with lots of data. Basically I'm indexing a huge file (5GB, but it can be bigger), by creating tables that holds offset <-> startOfSomeData information. Currently I'm mapping the whole file at once (yep!) but of course the... (1 Reply)
Discussion started by: emitrax
1 Replies

6. Solaris

restrcit physical memory with zone.max-locked-memory

Is it possible to restrict physical memory in solaris zone with zone.max-locked-memory just like we can do with rcapd ? I do not want to used rcapd (1 Reply)
Discussion started by: fugitive
1 Replies

7. UNIX for Advanced & Expert Users

Out of Memory error when free memory size is large

I was running a program and it stopped and showed "Out of Memory!". at that time, the RAM used by this process is around 4G and the free memory size of the machine is around 30G. Does anybody know what maybe the reason? this program is written with Perl. the OS of the machine is Solaris U8. And I... (1 Reply)
Discussion started by: lilili07
1 Replies

8. Solaris

relationship or difference between entitled memory and locked memory

Hello solaris experts, Being new to solaris containers, from Linux, feeling difficulty in understanding certain concepts. Hope somebody can help me here. I understand that, & some questions .... Locked memory -- memory which will not be swapped out at any cause. is this for... (0 Replies)
Discussion started by: thegeek
0 Replies

9. Solaris

[DOUBT] Memory high in idle process on Solaris 10 (Memory Utilization > 90%)

Hi Experts, Our servers running Solaris 10 with SAP Application. The memory utilization always >90%, but the process on SAP is too less even nothing. Why memory utilization on solaris always looks high? I have statement about memory on solaris, is this true: Memory in solaris is used for... (4 Replies)
Discussion started by: edydsuranta
4 Replies
SYSINFO(2)						     Linux Programmer's Manual							SYSINFO(2)

NAME
sysinfo - return system information SYNOPSIS
#include <sys/sysinfo.h> int sysinfo(struct sysinfo *info); DESCRIPTION
sysinfo() returns certain statistics on memory and swap usage, as well as the load average. Until Linux 2.3.16, sysinfo() returned information in the following structure: struct sysinfo { long uptime; /* Seconds since boot */ unsigned long loads[3]; /* 1, 5, and 15 minute load averages */ unsigned long totalram; /* Total usable main memory size */ unsigned long freeram; /* Available memory size */ unsigned long sharedram; /* Amount of shared memory */ unsigned long bufferram; /* Memory used by buffers */ unsigned long totalswap; /* Total swap space size */ unsigned long freeswap; /* Swap space still available */ unsigned short procs; /* Number of current processes */ char _f[22]; /* Pads structure to 64 bytes */ }; In the above structure, the sizes of the memory and swap fields are given in bytes. Since Linux 2.3.23 (i386) and Linux 2.3.48 (all architectures) the structure is: struct sysinfo { long uptime; /* Seconds since boot */ unsigned long loads[3]; /* 1, 5, and 15 minute load averages */ unsigned long totalram; /* Total usable main memory size */ unsigned long freeram; /* Available memory size */ unsigned long sharedram; /* Amount of shared memory */ unsigned long bufferram; /* Memory used by buffers */ unsigned long totalswap; /* Total swap space size */ unsigned long freeswap; /* Swap space still available */ unsigned short procs; /* Number of current processes */ unsigned long totalhigh; /* Total high memory size */ unsigned long freehigh; /* Available high memory size */ unsigned int mem_unit; /* Memory unit size in bytes */ char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding to 64 bytes */ }; In the above structure, sizes of the memory and swap fields are given as multiples of mem_unit bytes. RETURN VALUE
On success, sysinfo() returns zero. On error, -1 is returned, and errno is set to indicate the cause of the error. ERRORS
EFAULT info is not a valid address. VERSIONS
sysinfo() first appeared in Linux 0.98.pl6. CONFORMING TO
This function is Linux-specific, and should not be used in programs intended to be portable. NOTES
All of the information provided by this system call is also available via /proc/meminfo and /proc/loadavg. SEE ALSO
proc(5) COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. Linux 2017-09-15 SYSINFO(2)
All times are GMT -4. The time now is 04:39 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy