07-23-2019
Quote:
Originally Posted by
Phat
I would like to understand better in AIX memory use
Basically you have three types of memory in an AIX system: "used" and "unused" and the "used" category divides into two parts: "computational" and "file" memory.
"unused" is memory the kernel has absolutely no use for. In a longer running (and correctly tuned) system this is near to zero.
"computational" memory is the memory used by loaded and running programs.
"file" memory is basically cache. All the memory not used for programs (but not strictly set aside by tuning provisions) is added to the file cache - over time. The kernel will only make use of memory to cache file access if it has an idea what to cache. This is why freshly started systems have lots of free memory. The kernel simply doesn't know what to put into the cache and therefore doesn't allocate a lot of it.
Should RAM become used over time and more computational memory is needed (i.e. more programs are started) the file cache is diminished accordingly or regrown again should memory become free again. The tuning parameters "numperm", "minperm", "maxperm", "minclient" and "maxclient" deal with how and when exactly file memory is turned into computational memory and vice versa. There is a daemon - the "least recently used daemon" or "lrud" for short - which constantly scans memory pages and decides when they should be claimed as "computational" or "file". What it is doing exactly shows in the output of
vmstat -vs, i.e. "revolutions of the clock hand" means: since the last start the lrud has scanned the whole memory that often completely. If this value is fast growing you know that even if memory is not scarce right now it is at the brink of being exhausted and paging will start soon if any more memory is needed.
You may want to consult my "Most Incomplete Guide to Performance Tuning" for a more thorough (though not complete - this is a complex area) discussion about memory management in UNIX systems in general and how to assess it.
I hope this helps.
bakunin
These 5 Users Gave Thanks to bakunin For This Post:
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I am using AIX 5.5
I have researched your site and found a few commands to try to check how much physical memory I have but the ones I found are not working. I was wondering does my system have a different command?
I also checked the MAN pages could not find it there.
Could somebody help?
I... (2 Replies)
Discussion started by: rocker40
2 Replies
2. UNIX for Dummies Questions & Answers
Hi
Can some one help to understand the follwoing thing:
what is a simple mounting? for examle what the following lines says
/dev/hd2 /usr/xxx
if I have to install a software in a remote server, how i can use local cdrom to read the installation files from?
what about... (3 Replies)
Discussion started by: ajaya
3 Replies
3. UNIX for Advanced & Expert Users
Hi,
how to know size of physical memory under AIX ?
Many thanks.
PS :
man -k memory
man : 0703-310 Fichier man introuvable.
uname -a
AIX server1 1 5 005202DF4C00 (3 Replies)
Discussion started by: big123456
3 Replies
4. AIX
Hi,
Is there any way to find the Memory allocated to an Application in AIX server (2 Replies)
Discussion started by: tinivt
2 Replies
5. UNIX for Advanced & Expert Users
I have 2 boxes one running AIX 5.3 and the other running HP 11.31. Both systems have the same application running but HP seems to be using more memory than AIX by almost double. I have to use 2 different methods because both machines have different backend software to look at memory. What is the... (2 Replies)
Discussion started by: kfdalton
2 Replies
6. UNIX for Dummies Questions & Answers
Dear ALL,
Where can I get the following information?
what will happen exactly when i hit CTRL+C, CTRL+Z, CTRL+X, CTRL+D etc when the AIX terminal hangs...?
The reason why I am asking this question is when ever I type a command at the terminal (say "select * from tab" or any command) the... (1 Reply)
Discussion started by: tenderfoot
1 Replies
7. Solaris
Hi. I have 2 SunFire V490 servers running Solaris 10. We may have to upgrade with more memory on one of them to make it compatible with the other. Here's the one with 12GB of RAM:
Memory size: 12288 Megabytes
========================= CPUs ===============================================
... (1 Reply)
Discussion started by: th1amigo
1 Replies
8. UNIX for Advanced & Expert Users
I have started a new job which requires AIX admin skills, which I have, and RHEL skills. Does anyone have a cheat sheet that if I know how to solve the problem in AIX how would I do that in RHEL? I was an IBM pre-sales technical trying to keep sales guys honest - not possible. Any other links to... (5 Replies)
Discussion started by: SpenceSnyder
5 Replies
9. AIX
Greetings,
i'm wondering if there is a way to determine minimum memory requirement for AIX kernel and OS functions? We use memdetails script from perfpmr package to see actual memory allocation, for example like this:
===========================================================================... (5 Replies)
Discussion started by: dzodzo
5 Replies
10. AIX
i am facing issue in AIX 6.1 when i was running below command i face issued as show attached screenshot
cat /audit/bin1 /audit/bin2 /audit/trail | auditpr -t 0 -v -h l,r,R,t,c,p,P |\
awk '/\s*audit object write event detected/ {print ll $6} { ll = $0}'
Please use code tags next time... (1 Reply)
Discussion started by: aforabad
1 Replies
LEARN ABOUT MOJAVE
perlos400
PERLOS400(1) Perl Programmers Reference Guide PERLOS400(1)
NAME
perlos400 - Perl version 5 on OS/400
DESCRIPTION
This document describes various features of IBM's OS/400 operating system that will affect how Perl version 5 (hereafter just Perl) is
compiled and/or runs.
By far the easiest way to build Perl for OS/400 is to use the PASE (Portable Application Solutions Environment), for more information see
<http://www.iseries.ibm.com/developer/factory/pase/index.html> This environment allows one to use AIX APIs while programming, and it
provides a runtime that allows AIX binaries to execute directly on the PowerPC iSeries.
Compiling Perl for OS/400 PASE
The recommended way to build Perl for the OS/400 PASE is to build the Perl 5 source code (release 5.8.1 or later) under AIX.
The trick is to give a special parameter to the Configure shell script when running it on AIX:
sh Configure -DPASE ...
The default installation directory of Perl under PASE is /QOpenSys/perl. This can be modified if needed with Configure parameter
-Dprefix=/some/dir.
Starting from OS/400 V5R2 the IBM Visual Age compiler is supported on OS/400 PASE, so it is possible to build Perl natively on OS/400. The
easier way, however, is to compile in AIX, as just described.
If you don't want to install the compiled Perl in AIX into /QOpenSys (for packaging it before copying it to PASE), you can use a Configure
parameter: -Dinstallprefix=/tmp/QOpenSys/perl. This will cause the "make install" to install everything into that directory, while the
installed files still think they are (will be) in /QOpenSys/perl.
If building natively on PASE, please do the build under the /QOpenSys directory, since Perl is happier when built on a case sensitive
filesystem.
Installing Perl in OS/400 PASE
If you are compiling on AIX, simply do a "make install" on the AIX box. Once the install finishes, tar up the /QOpenSys/perl directory.
Transfer the tarball to the OS/400 using FTP with the following commands:
> binary
> site namefmt 1
> put perl.tar /QOpenSys
Once you have it on, simply bring up a PASE shell and extract the tarball.
If you are compiling in PASE, then "make install" is the only thing you will need to do.
The default path for perl binary is /QOpenSys/perl/bin/perl. You'll want to symlink /QOpenSys/usr/bin/perl to this file so you don't have
to modify your path.
Using Perl in OS/400 PASE
Perl in PASE may be used in the same manner as you would use Perl on AIX.
Scripts starting with #!/usr/bin/perl should work if you have /QOpenSys/usr/bin/perl symlinked to your perl binary. This will not work if
you've done a setuid/setgid or have environment variable PASE_EXEC_QOPENSYS="N". If you have V5R1, you'll need to get the latest PTFs to
have this feature. Scripts starting with #!/QOpenSys/perl/bin/perl should always work.
Known Problems
When compiling in PASE, there is no "oslevel" command. Therefore, you may want to create a script called "oslevel" that echoes the level
of AIX that your version of PASE runtime supports. If you're unsure, consult your documentation or use "4.3.3.0".
If you have test cases that fail, check for the existence of spool files. The test case may be trying to use a syscall that is not
implemented in PASE. To avoid the SIGILL, try setting the PASE_SYSCALL_NOSIGILL environment variable or have a handler for the SIGILL. If
you can compile programs for PASE, run the config script and edit config.sh when it gives you the option. If you want to remove fchdir(),
which isn't implement in V5R1, simply change the line that says:
d_fchdir='define'
to
d_fchdir='undef'
and then compile Perl. The places where fchdir() is used have alternatives for systems that do not have fchdir() available.
Perl on ILE
There exists a port of Perl to the ILE environment. This port, however, is based quite an old release of Perl, Perl 5.00502 (August 1998).
(As of July 2002 the latest release of Perl is 5.8.0, and even 5.6.1 has been out since April 2001.) If you need to run Perl on ILE,
though, you may need this older port: <http://www.cpan.org/ports/#os400> Note that any Perl release later than 5.00502 has not been ported
to ILE.
If you need to use Perl in the ILE environment, you may want to consider using Qp2RunPase() to call the PASE version of Perl.
AUTHORS
Jarkko Hietaniemi <jhi@iki.fi> Bryan Logan <bryanlog@us.ibm.com> David Larson <larson1@us.ibm.com>
perl v5.18.2 2013-11-04 PERLOS400(1)