Visit The New, Modern Unix Linux Community

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
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
 
Test Your Knowledge in Computers #979
Difficulty: Medium
macOS is based on the Unix operating system and on technologies developed between 1985 and 1997 at NeXT.
True or False?

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
MEMSTAT(1)						     Linux Programmer's Manual							MEMSTAT(1)

NAME
memstat - Identify what's using up virtual memory. SYNOPSIS
memstat [-w][-p PID] DESCRIPTION
memstat lists all accessible processes, executables, and shared libraries that are using up virtual memory. To get a complete list memstat has to be run as root to be able to access the data of all running processes. First, the processes are listed. An amount of memory is shown along with a process ID and the name of the executable which the process is running. The amount of memory shown does not include shared memory: it only includes memory which is private to that process. So, if a process is using a shared library like libc, the memory used to hold that library is not included. The memory used to hold the exe- cutable's text-segment is also not included, since that too is shareable. After the processes, the shared objects are listed. The amount of memory is shown along with the filename of the shared object, followed by a list of the processes using the shared object. The memory is listed as the total amount of memory allocated to this object throughout the whole namespace. In brackets also the amount that is really shared is listed. Finally, a grand total is shown. Note that this program shows the amount of virtual (not real) memory used by the various items. memstat gets its input from the /proc filesystem. This must be compiled into your kernel and mounted for memstat to work. The pathnames shown next to the shared objects are determined by scanning the disk. memstat uses a configuration file, /etc/memstat.conf, to determine which directories to scan. This file should include all the major bin and lib directories in your system, as well as the /dev directory. If you run an executable which is not in one of these directories, it will be listed by memstat as ``[0dev]:<inode>''. Options The -w switch causes a wide printout: lines are not truncated at 80 columns. The -p switch causes memstat to only print data gathered from looking at the process with the gicen PID. NOTES
These reports are intended to help identify programs that are using an excessive amount of memory, and to reduce overall memory waste. FILES
/etc/memstat.conf /proc/*/maps SEE ALSO
ps(1), top(1), free(1), vmstat(8), lsof(8), /usr/share/doc/memstat/memstat-tutorial.txt.gz BUGS
memstat ignores all devices that just map main memory, though this may cause memstat to ignore some memory usage. Memory used by the kernel itself is not listed. AUTHOR
Originally written by Joshua Yelon <jyelon@uiuc.edu> and patched by Bernd Eckenfels <ecki@debian.org>. Taken over and rewritten by Michael Meskes <meskes@debian.org>. Debian 01 November 1998 MEMSTAT(1)

Featured Tech Videos

All times are GMT -4. The time now is 01:24 PM.
Unix & Linux Forums Content Copyright 1993-2020. All Rights Reserved.
Privacy Policy