Sponsored Content
Operating Systems Solaris Monitoring Paging and Swapping Post 303027427 by bakunin on Saturday 15th of December 2018 10:14:06 AM
Old 12-15-2018
Quote:
Virtual swap = ram + disk. (shown in swap -s)
Quote:
Originally Posted by javanoob
- Virtual memory reservation does not take up physical space. (vmstat free still reflect as unused space, swap -l still reflect as free blocks)
- Virtual memory reservation is just a reserved amount and has nothing with the physical allocation of the ram / swap disk. In the sense that an allocated virtual memory area (non-shared) cannot be shared with another process, but the underlying physical ram could be randomly use by different processes at different time.

Please kindly let me know if my understanding thusfar is correct
More or less: yes. Still, you shouldn't use incorrect terminology because at some point - language is the "coagulated thought process" - it will be in the way of your understanding. There is no "virtual swap". There is "virtual memory", which is RAM + swap space(s). It is called "virtual" because to processes it looks like one contiguous address space. To running processes there is no difference between RAM and swap. There is just "memory". Only the operating system (to be precise: the part of it which manages memory) "knows" that RAM is faster than swap and therefore tries its best to keep the most possible of the most used process memory in RAM so that paging operations (swap in/swap out) happen as rarely as possible. A process can ask for the memory it allocates to be (and remain) in RAM, but it has no way to ascertain that this is the case.

Memory reservation is in fact like reserving a table at a restaurant like jiliagre has so astutely explained: you call and say you want to come tomorrow at 20:00, table for four. They will either take or refuse your reservation but if they take it then the table cannot be used by anybody but your party, regardless of you showing up (using the table) or not. A process can reserve (=allocate) memory. Directly it will have no control over where this memory will be: RAM or swap. It can ask the OS for it being in RAM (database software does this regularly, i.e. Oracle allocates its SGA as "not swappable"), but it will have to take the OS's word for it that this in fact has happened.

Quote:
Originally Posted by javanoob
What could have contributed to the 3GB swap disk ?

Could it be at some point of time, i am running low on physical ram and swap/paging need to be done ?
When does physical space used in swapdisk be release ?

It is gradually increasing (slow.. but like 5-10MB more of swapdisk used per week) - that is the worrying part.
There is "early" and "late" swap allocation as i have explained up in this thread. I do not know your application but maybe it uses shared memory and allocates it via the shmget() system call. This function can reserve swap space (see the SHM_NORESERVE flag) along with the allocated memory so that the process is guaranteed to have swap space should the necessity ever occur to swap it out. Alternatively it may use memory mapped I/O, the mmap() system call has an analogous functionality. If this is the case it might be sloppily programmed and thus create a memory sink: that is: memory is allocated but instead of giving it back the process "forgets" about it and allocates new memory the next time it performs the same function. (The sad truth is that this is a very common phenomenon.) This could account for the slow increase of allocated swap over time.

But even then, "swap allocated" is not the same as "swap used" which in fact comes down to: "pages swapped out" and "pages swapped in". This is why it is useless to look at swap -l's output. This only tells you if you need to increase the amount of available swap space. It will not tell you how much is actually written to/read from the swap. This is only told by the pi/po counter of vmstat (and all the other counter discussed above in detail).

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Excessive Paging&Swapping!

Hi all! Working on Oracle v8i/9i on Unix Sun Solaris v8.0. I am experiencing excessive paging & Swapping.Would like to know the cause. I guess:could be due to inappropriate setting of Unix Kernel Parameters... Please correct me if I am wrong! Thanks&Regards, Amit. (5 Replies)
Discussion started by: Amitstora
5 Replies

2. Filesystems, Disks and Memory

Paging and Swapping

Hi Guys: Would like to know how to check system swapping and paging and some theory on how they function. I am an oracle dba and my environment is 8171 on AIX 433. We have a 1GB of RAM on the box and I am educating myself to see how much more SGA can be accommodated on the box and what are the... (2 Replies)
Discussion started by: ST2000
2 Replies

3. UNIX for Dummies Questions & Answers

how to get swapping info

Hi How can I determine if swapping is occuring on a server. Thanks, Leo (2 Replies)
Discussion started by: leo
2 Replies

4. SuSE

Swapping

Hello! Why does my SuSE GNU/Linux machine swap? I have a Gig of ram, currently 14MBs of free RAM, 724MB - buffers and caches... That is 685MB of cached RAM, then kernel really should'nt have to swap, It should release cached memory in my thinkin... It has only swaped 3MB's but still,... (3 Replies)
Discussion started by: Esaia
3 Replies

5. UNIX for Advanced & Expert Users

virtual memory management, swapping paging

can anybody explain me the concepts virtual memory mangement, swapping and paging? although i roughly know what they are , i need more solid distinction between them, and also i want to figure out the relations between them? do you have any well-defined definitons for this concepts? (2 Replies)
Discussion started by: gfhgfnhhn
2 Replies

6. UNIX for Dummies Questions & Answers

Swapping in VI editor

Hi, I am attempting to replace several similar words with another word in vi. Here is what I have written for the script: 3dTcat -prefix SuperBrik_4WAY_HRF ../JULY10_2007A/results2TENT/stats.JULY10_2007A+tlrc ../JULY10_2007G/results2TENT/stats.JULY10_2007G+tlrc... (1 Reply)
Discussion started by: Jahn
1 Replies

7. Shell Programming and Scripting

Swapping three lines

I have some text: <date>some_date</date> <text>some_text</text> <name>some_name<name> and I want to transform it to smthng like that: some_name on some_date: some_text I've tried sed: sed 's/<text>\(.*\)<\/text> <name>\(.*\)<\/name>/\2 - \1/' but it says unterminated... (13 Replies)
Discussion started by: dsjkvf
13 Replies

8. Shell Programming and Scripting

Swapping fields

Hallo Team, This is the command that i am running : grep ",Call Forward Not Reachable" *2013* this is the output that i am getting (i did a head -10 but the files can be more than 1000) ... (8 Replies)
Discussion started by: kekanap
8 Replies

9. Solaris

Swapping

Hi Guys I am using SPARC-T4 (chipid 0, clock 2998 MHz), SunOS 5.10 Generic_150400-38 sun4v. How do I see if the server was doing some swapping like yesterday? I had a java application error with java.lang.OutOfMemoryError, now I want to check if the server was not doing some swapping at... (4 Replies)
Discussion started by: Phuti
4 Replies

10. Shell Programming and Scripting

Swapping lines

Hi there, I have a text that I'm trying to format into something more readable. However, I'm stuck in the last step. I've searched and tried things over the internet with no avail. OS: Mac After parsing the original text that I won't put here, I managed to get something like this, but this... (8 Replies)
Discussion started by: Kibou
8 Replies
All times are GMT -4. The time now is 07:58 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy