The tag has no wiki summary.

learn more… | top users | synonyms (1)

17
votes
1answer
11k views

Getting information about a process' memory usage from /proc/pid/smaps

For a given process in /proc/<pid>/smaps, for a given mapping entry what are: Shared_Clean Shared_Dirty Private_Clean Private_Dirty Is Shared_Clean + Shared_Dirty the amount of memory that ...
10
votes
6answers
2k views

Can Linux “run out of RAM”?

I saw several posts around the web of people apparently complaining about a hosted VPS unexpectedly killing processes because they used too much RAM. How is this possible? I thought all modern OS' ...
8
votes
1answer
3k views

Unable to handle kernel paging request?

[Disclaimer: I was initially a little nervous about posting this here, so I asked on Meta if discussing homebrew / modding was acceptable. Based on the response I've gotten from several veteran ...
7
votes
1answer
8k views

Setting /proc/sys/vm/drop_caches to clear cache

As part of doing some cold cache timings, I'm trying to free the OS cache. The kernel documentation says: drop_caches Writing to this will cause the kernel to drop clean caches, dentries and inodes ...
7
votes
3answers
3k views

Why is the theoretical RAM limit for RHEL 6 128 TB and how is this determined?

I'm studying for RHCSA and am confused by a statement I came across in some training material: There is no practical maximum RAM, as theoretically, you could run 128 TB of RAM on RHEL 6. But ...
7
votes
1answer
2k views

Zswap, Zram, Zcache desktop usage scenarios

I've been trying to understand the difference in use cases for Zswap, Zram, and Zcache. Apologies in advance for the long/slightly sloppily worded question. I've done a bunch of googling, and I ...
6
votes
2answers
285 views

How does stack allocation work in Linux?

Does the OS reserve the fixed amount of valid virtual space for stack or something else? Am I able to produce a stack overflow just by using big local variables? I've wrote a small C program to test ...
6
votes
2answers
1k views

An oom killer thats baffling me

I am not able to understand why would kernel issue this oom killer when I see enough memory is available: Also why are there so many kernel cache pages allocated? I say enough memory is available ...
6
votes
1answer
742 views

User Kernel split in 64bit Linux

What is the default user/kernel split in the 64bit linux ? I read Documentation/x86_64/mm.txt (which someone pointed out), but I could not make out. Can somebody provide a direct answer (something ...
5
votes
1answer
857 views

The meaning of output of pmap

I wrote main.c in Linux: int main() { while (1){} } When I compile and start it, I can pmap it: # pmap 28578 28578: ./a.out 0000000000400000 4K r-x-- /root/a.out 0000000000600000 4K ...
5
votes
3answers
2k views

How to set up properly zram and swap

I'm configuring & compiling new 3.0 kernel. One of the goodies I planned to use for some time (by patching) that was merged into 3.0 is zram. Is it possible to set both hdd swap and zram swap so ...
4
votes
2answers
78 views

1GB huge page - Is writing occurring in 1GB chunks?

I'm trying to understand the relation between huge page size and how data is actually being written to RAM. What happens when a process uses a 1GB huge page - does writing occur in 1GB chunks? I ...
4
votes
1answer
70 views

kernel address space mappings with respect to virtual address space - a question based on text by Robert Love

In LKD 3rd edition, chapter 12 under Zones, Robert Love says: In particular, Linux has to deal with two shortcomings of hardware with respect to memory addressing: Some hardware devices ...
4
votes
1answer
39 views

Memory consumption of a script

Is there way to check the memory (physical & virtual) consumption of a script, of course in the moment of its execution. Calculating the used memory minus the used memory before and after the ...
4
votes
3answers
124 views

What is contained in these addresses?

I am working on MUlti-processor record-replay feature of a virtual machine. I have a log of non-deterministic memory access done in the virtual machine by virtual CPUs. A very high proportion of these ...
4
votes
1answer
186 views

Spike in swap utilisation without high swap rate

Every Saturday, for reasons unknown to me, one of my servers experiences a spike in swap utilisation. It's not necessarily a problem as there is plenty of free memory available, but I'd still like to ...
3
votes
2answers
298 views

Where is the virtual memory stored on hard drive?

If a process wants to access a memory address that is not in physical memory, the OS outsources a page frame from physical memory to the hard drive for later use. Where on the hard drive is this data ...
3
votes
2answers
251 views

Misleading explanation of Virtual Memory in TLDP

I'm completely confused about explanation of virtual memory in TLDP: http://www.tldp.org/LDP/tlk/kernel/processes.html#tthFtNtAAB They say: Each individual process runs in its own virtual ...
3
votes
1answer
37 views

program executing for 2 days

I have a java program which implements the Hungarian algorithm. I made changes to the existing code in such a way that the input is read from file. I have a pretty huge input around 32,000 rows for ...
3
votes
1answer
441 views

Rationale for making user space text segment start at 0x8048000

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. I have done a cat ...
3
votes
1answer
892 views

Solaris swap allocation with mlocked shared memory

I'm having a hard time understanding how Solaris 10 x86 swap allocations work in the presence of mlocked share memory. I wrote a small program that: Gets a 1G SHM segment (shmget) Attaches it to ...
3
votes
0answers
539 views

How extended (4MB) and regular (4KB) paging coexist?

On x86 architecture, "Extended paging" allows page frames (physical memory) to be 4 MB instead of 4 KB. The book "Understanding the Linux Kernel, 3rd" at chapter 2 "Memory Addressing", sub-chapter ...
2
votes
2answers
797 views

How much RAM can an application allocate on 64-bit x86 Linux systems?

Is it true that a single application can not allocate more than 2 GiBs even if the system has GiBs more free memory when using a 32-bit x86 PAE Linux kernel? Is this limit loosened by 64-bit x86 Linux ...
2
votes
1answer
621 views

Why is brk(0) called?

On a first shell I run the command tail with no argument. On a second shell I kill the first tail using strace to monitor the system calls. qdii@nomada ~ $ strace kill 1713 execve("/bin/kill", ...
2
votes
3answers
2k views

How is paging managed in the absence of swapping?

How is paging managed in the absence of swapping. If that is the case, how will a page fault be managed? What I meant is, if there is no availability for swapping, then how is Paging managed. I ...
2
votes
4answers
94 views

How much RAM needed for preventing use swap?

At my system always available some "Free" and "Inactive" memory, but sometimes system move couple megabytes to swap. Per night it maybe around 100MB, but for a few days in swap could be more than ...
2
votes
3answers
130 views

How can I find the amount of memory consumed by a process?

How can I find the amount of main memory consumed by a process using ps aux? I have a process which runs for half an hour. Is it possible to find the maximum amount of main memory consumed by it ...
2
votes
2answers
82 views

Is there a good benchmark for virtual memory performance?

Aside from running memory benchmarks, has anyone used a benchmark that stresses the virtual memory subsystem? I'm curious to see how performance differs in virtual machines with and without EPT ...
2
votes
1answer
708 views

Huge page and performance improvemnt

How can using huge page improve performance? I have read that huge pages improve performance by reducing TLB lookups and reducing the size of the page table. Can someone tell me how this helps with ...
2
votes
1answer
596 views

tmpfs and vm.swappiness

I have started tuning a bit Linux VM performance on my system (yes. I know that vm.swappiness=0 will kill kittens but I found 30-40 as much better for me as it improved my latency - probably at cost ...
2
votes
1answer
220 views

pmap and memory usage

On Ubuntu 12.04, I have several apache2 processes running (the 1130 parent and the children it spawned), and as you can see, they have around 300-400 mb of virtual memory and 10 mb of resident memory: ...
2
votes
1answer
1k views

How to debug Linux kernel panic?

I am trying to debug a kernel panic. Panic message says unable to handle kernel paging request for address 40025694. At the time of panic it was executing ldreq r10, [lr, #-4] @ get SWI instruction. ...
2
votes
1answer
143 views

Memory Management: Faulting virtual addresses

I came across the following on http://tldp.org/LDP/tlk/mm/memory.html If the faulting virtual address is invalid this means that the process has attempted to access a virtual address that it ...
2
votes
1answer
822 views

How often is PSS value updated for a given process in /proc/pid/smaps

So if n processes are sharing a library L with size M then the contribution to their PSS is M/n. Now imagine one of the process terminates. So the contribution would be M/(n-1). Q1: My question is ...
2
votes
0answers
14 views

Virtual kernel memory layout in dmesg linux kernel 2.6.31

I'm working on a embedded linux project for ARM architecture, kernel version is 2.6.31.12-rt21. In dmesg, I cannot see the virtual kernel memory layout like this: virtual kernel memory layout: ...
2
votes
0answers
119 views

GNU/Linux swapping blocks system

I have used GNU/Linux on systems from 4 MB RAM to 512 GB RAM. When they start swapping, most of the time you can still log in and kill off the offending process - you just have to be 100-1000 times ...
1
vote
2answers
443 views

NAND flash memory wear & virtual memory page swap

For a linux kernel with virtual memory and disk storage, pages are swapped back and forth into swap area. But embedded systems generally use NAND flash instead of disk. A NAND flash has a limited ...
1
vote
1answer
1k views

Drop_caches doesn't drop caches?

Sometimes I see my swap file is a bit bigger then usual. I tried sync && echo 3 > /proc/sys/vm/drop_caches to no avail. But when I tried swapoff -a it takes a bit longer but the swap file ...
1
vote
2answers
317 views

Viewing virtual memory usage

I started 700+ threads from a single program And my /proc/[PID]/status file shows the following output. VmPeak: 7228104 kB VmSize: 7228104 kB VmLck: 0 kB VmHWM: 3456 kB VmRSS: ...
1
vote
2answers
856 views

Change the size of my memory pages?

I would like to change my kernel's page size from 4KB to 4MB as I have had a large addition of RAM to my computer and I am never running out of anymore. The idea is that programs requiring large ...
1
vote
2answers
235 views

TLB cache flusing when a page is swapped out

I recently heard that Linux simply flushes the TLB cache when the corresponding data in that physical address is swapped out, resulting in underutilization of the TLB. I don't know whether all OSes do ...
1
vote
1answer
176 views

What information exactly is in the access control bits of a page table?

I'm currently learning for an exam in operating systems. This includes learning some basics about page tables, which lead me to the question Why using hierarchical page tables? which mentions that ...
1
vote
2answers
239 views

Sudden burst in free memory

I'm experiencing some strange memory management behaviour on Squeeze with Kernel 2.6. I'm trying to get to the bottom of this with nmon. Sometimes this will freeze up the system for 30 seconds to 5 ...
1
vote
1answer
105 views

Clear Memory Cache on Amazon EC2

In our project we have a few tests which run for about 3-4 hours continuously. In due course, the tests fail as they couldn't find enough memory. On googling, I found that running the following ...
1
vote
1answer
203 views

Iotop shows swapin but vmstat si is zero

I run iotop and vmstat on a CentOS server. Under some load the iotop swapin column starts to display values around 5% to 20% for some processes. But vmstat si an so remain zero. I thought that vmstat ...
1
vote
1answer
216 views

Do VmPeak & VmHWM have any measurement periods?

While reading kernel documentation I came across VmPeak & VmHWM, and it's a bit unclear to me. VmPeak in /proc/<pid>/status is described to be peak virtual memory size. Peak for what ...
1
vote
1answer
102 views

How does the kernel know how much user addressable memory to set aside?

I was reading up on a rather-dated article on the kernel managing memory and had this question on where the Page Table Entries (PTE) would go into. For this example, the author assumes we are on a ...
1
vote
0answers
89 views

Virtual address of Global variables in Kernel code

If my understanding is not wrong, every process has a Kernel Address space associated with it (which is typically 1GB). As far as local variables are concerned, they are assigned on the kernel stack ...
1
vote
1answer
340 views

private memory calculated by pmap, a combination of virtual memory size and resident memory size?

You can use the ps command to get the virtual memory size and the resident memory size of a process: $ ps aux | grep apache2 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME ...
1
vote
0answers
169 views

Understanding the Buddy Allocator [closed]

I have a conceptual doubt in understanding the way Linux Kernel manages Free blocks. Here is what I interpreted through reading so far. The Buddy Allocator implementation is allocation scheme that ...