I just thought up an interesting shell-command phrase, in answer to
"What files are mapped into memory? Do I have
/.evil/.overlord/.control/.program hidden somewhere?":
$ sudo cat /proc/[0-9]*/maps | cut -c82- | sort | uniq -c | sort -n
which tells me which files are mapped into memory by every existing
We have two MongoDB data nodes (replica set) - Primary & Secondary. I noticed that the non-mapped virtual memory is relatively high and wondering if they are hurting our MongoDB performance (The server usually peaked at around 6-7K queries per sec).
I've written a program for a class and after we've written it we're suppose to do some data analysis on it. A couple of the several things we're suppose to report given different conditions are the number of page faults and the number of page ins/page outs. Are there times when a page fault occurs that that you don't have a page in? What all is the difference?
We know for every process, it has 4G virtual memory on a 32bit machine.
since virtual memory is not physical memory, why don't operating system allocate all it's virtual memory to it, but set a "program break" to limit it's heap space?
Even if the operating system allocate all the 4G virtual memory to a process, only when the process access an address that not mapped into physical memo
How can using Huge page improves performance,i have read that Huge page improves performance by reducing TLB lookups and reducing size of page table.Can some one tell me how this help in better performance.
is this like if i have an application that use 4 pages of virtual memory (4*4kb=16kb) then will it be like this, that each 4 page is mapped directly to some physical memory location and if we
please guy
can you help me to understand why page size and page faults are oneanother dependent in linux systeme software? i realy don't understand what is the page table, what is his Job
thank you for your help.
Every process has the possibility to address 2^32 or 2^64 bits of virtual memory. The moment you request to read or to write to one of these memory address', it is converted to a physical memory location (based on the process ID) as it is sent to your L1 data cache.
I read somewhere that ( at least since Linux v. 2.6 ) all user-space code is placed at load address 0x8048000 in the virtual memory address space.
My own observations confirm this.
The man page for top defines SHR as:
t: SHR -- Shared Mem size (kb) The amount of shared memory used by a
task. It simply reflects memory that could be potentially shared with
other processes.
I can see this growing for one process but I am unsure of what exactly is being reported here.