01-26-2019
Virtual Memory in UNIX
So, I would ask you a piece of advice about which books or titles could give me comprehensive information about virtual memory in UNIX. Especially, I would found out that virtual address translation corresponds structures of kernel!
Thanks!
This User Gave Thanks to Fadedfate For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
What command can i use to get the physical and virtual memory of a database? (7 Replies)
Discussion started by: tads98
7 Replies
2. UNIX for Dummies Questions & Answers
Hi,
can anyone explain me what virtual memory is ( for which we use vmstat commande line ) comparing with RAM ?
many thanks before. (2 Replies)
Discussion started by: big123456
2 Replies
3. Programming
Hi,
First of all I appreciate this group very much for its informative discussions and posts.
Here is my question.
I have one process whose virtual memory size increases linearly from 6MB to 12MB in 20 minutes. Does that mean my process has memory leaks?
In what cases does the... (4 Replies)
Discussion started by: shriashishpatil
4 Replies
4. Programming
Hi Folks
can any body suggest how to allocate virtual memory any function for that (2 Replies)
Discussion started by: munnu
2 Replies
5. HP-UX
Hi!
I work with HP-UX and I have to monitorize the use of virtual memory for different processes.
(java processes for Tibco Adapter) And if these processes exceed a limit send a message to the syslog.
I donīt know how to monitorize this...
Should I do a script? or use an aplication, for example... (3 Replies)
Discussion started by: Kurohana
3 Replies
6. AIX
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
7. UNIX for Dummies Questions & Answers
Hi All,
Does anyone know what the best commands in the UNIX command line are for obtaining this info:
current CPU usage
memory usage
virtual memory usage
preferably with date and time parameters too?
thanks
ocelot (4 Replies)
Discussion started by: ocelot
4 Replies
8. UNIX for Dummies Questions & Answers
Hi,
Can anyone please help me workout how much virtual memory I have running on a T2000 running Solaris 10. Thanks
# df -h
swap 3.5G 1.0M 3.5G 1% /etc/svc/volatile
swap 3.5G 208K 3.5G 1% /tmp
swap 3.5G 56K ... (2 Replies)
Discussion started by: jamba1
2 Replies
9. Homework & Coursework Questions
Use and complete the template provided. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
The key to using memory most efficiently is virtual memory management. Consider both Windows and UNIX operating systems. Compare and contrast how each... (0 Replies)
Discussion started by: kjcruz
0 Replies
10. HP-UX
Hello! just wanna ask if how UNIX implements virtual memory, and how it handles page faults, working sets, page sizes and how it reconciles thrashing issues? if you know some sources where I can have some idea, just post it here. thx (1 Reply)
Discussion started by: kjcruz
1 Replies
LEARN ABOUT REDHAT
mremap
MREMAP(2) Linux Programmer's Manual MREMAP(2)
NAME
mremap - re-map a virtual memory address
SYNOPSIS
#include <unistd.h>
#include <sys/mman.h>
void * mremap(void *old_address, size_t old_size , size_t new_size, unsigned long flags);
DESCRIPTION
mremap expands (or shrinks) an existing memory mapping, potentially moving it at the same time (controlled by the flags argument and the
available virtual address space).
old_address is the old address of the virtual memory block that you want to expand (or shrink). Note that old_address has to be page
aligned. old_size is the old size of the virtual memory block. new_size is the requested size of the virtual memory block after the
resize.
The flags argument is a bitmap of flags.
In Linux the memory is divided into pages. A user process has (one or) several linear virtual memory segments. Each virtual memory seg-
ment has one or more mappings to real memory pages (in the page table). Each virtual memory segment has its own protection (access
rights), which may cause a segmentation violation if the memory is accessed incorrectly (e.g., writing to a read-only segment). Accessing
virtual memory outside of the segments will also cause a segmentation violation.
mremap uses the Linux page table scheme. mremap changes the mapping between virtual addresses and memory pages. This can be used to
implement a very efficient realloc.
FLAGS
MREMAP_MAYMOVE
indicates if the operation should fail, or change the virtual address if the resize cannot be done at the current virtual address.
RETURN VALUE
On success mremap returns a pointer to the new virtual memory area. On error, -1 is returned, and errno is set appropriately.
ERRORS
EINVAL An invalid argument was given. Most likely old_address was not page aligned.
EFAULT "Segmentation fault." Some address in the range old_address to old_address+old_size is an invalid virtual memory address for this
process. You can also get EFAULT even if there exist mappings that cover the whole address space requested, but those mappings are
of different types.
EAGAIN The memory segment is locked and cannot be re-mapped.
ENOMEM The memory area cannot be expanded at the current virtual address, and the MREMAP_MAYMOVE flag is not set in flags. Or, there is
not enough (virtual) memory available.
NOTES
With current glibc includes, in order to get the definition of MREMAP_MAYMOVE, you need to define _GNU_SOURCE before including
<sys/mman.h>.
CONFORMING TO
This call is Linux-specific, and should not be used in programs intended to be portable. 4.2BSD had a (never actually implemented)
mremap(2) call with completely different semantics.
SEE ALSO
getpagesize(2), realloc(3), malloc(3), brk(2), sbrk(2), mmap(2)
Your favorite OS text book for more information on paged memory. (Modern Operating Systems by Andrew S. Tannenbaum, Inside Linux by Ran-
dolf Bentson, The Design of the UNIX Operating System by Maurice J. Bach.)
Linux 1.3.87 1996-04-12 MREMAP(2)