The tag has no wiki summary.

learn more… | top users | synonyms (1)

30
votes
2answers
2k views

Why did powering down my machine after a bad `rm` save my files?

Classical situation: I ran a bad rm and realized immediately afterwards that I had removed the wrong files. (Nothing critical and I had tolerably recent backups, but still annoying.) Knowing that ...
24
votes
1answer
20k 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 ...
11
votes
1answer
20k 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 ...
10
votes
6answers
4k 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' ...
10
votes
1answer
124 views

Does anyone actually use and benefit from transparent huge pages?

I've been struggling with transparent huge pages performance issues of late, and noticed many database systems recommend turning it off. I am talking Oracle, Postgresql, MySQL, Cassandra, NuoDB, ...
9
votes
1answer
5k 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 ...
8
votes
1answer
1k 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 ...
8
votes
1answer
3k 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 ...
7
votes
2answers
2k 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 ...
7
votes
1answer
5k 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 ...
7
votes
3answers
5k 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
3answers
3k 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 ...
7
votes
2answers
2k 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
2answers
238 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 ...
5
votes
2answers
310 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 ...
5
votes
1answer
220 views

When does swap start to be used? When does a process get an out of memory error and be killed?

When does swap start to be used? Is it when the memory is fully used? Or when the memory hasn't been fully used? When does a process get an "Out of memory" error and be killed by the kernel? is it ...
5
votes
1answer
110 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
2answers
381 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 ...
4
votes
2answers
1k 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 ...
4
votes
1answer
76 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
127 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
2answers
593 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 ...
4
votes
0answers
760 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 ...
3
votes
2answers
1k 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 ...
3
votes
1answer
26 views

Kernel address space layout

Userland address space is well documented, which includes segments like heap, stack, .text, .bss, etc. But there is not enough documentation on kernel address space. Since certain virtual address is ...
3
votes
1answer
1k 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", ...
3
votes
2answers
53 views

Physical Address Extension - how do virtual addresses work?

I'm running Debian Linux. uname -m says i686 which means 32-bit architecture machine with pae flag enabled. getconf LONG_BIT is 32. Installed RAM capacity is 6GB. My /proc/cpuinfo has an entry ...
3
votes
1answer
47 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
619 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
717 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 ...
3
votes
1answer
1k 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
1answer
48 views

How do I forbid access to physical memory in Linux?

I'm on an embedded system (Zynq from Xilinx. It uses ARMv7, Cortex-A9), and running Linux. I need to ensure that no access to a certain physical memory range is ever made, either accidentally by the ...
3
votes
0answers
154 views

Why does saving a KVM-QEMU VM requires additional memory?

I have three VMs running on Red Hat Enterprise Linux with 8 GB RAM, each of the VMs has 3 GB allocated, and I also run a 512 MB VM. If we also consider the guest OS's memory usage (usually 1.5 GB due ...
2
votes
1answer
282 views

Is a page contiguous in the virtual address space or physical memory or both?

Wikipedia says that: A page, memory page, or virtual page is a fixed-length contiguous block of virtual memory, described by a single entry in the page table. It is the smallest unit of data ...
2
votes
2answers
49 views

How to get the virtual storage size of a process continuously?

We all know that top command monitors the running processes continuously. I have an application that is running continuously in an embedded Linux and I need to monitor its VSZ (Virtual storage size) ...
2
votes
3answers
1k 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
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
1k 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
1answer
1k 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
2answers
354 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
1k 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
1answer
388 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
2k 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
184 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
0answers
21 views

How do I vmtouch a directory (not the files it contains)?

The vmtouch(8) tool allows locking a file or files in memory. It has recursive mode, but the directories are used just for discovering files and are not locked themselves. How do I lock a directory ...
2
votes
0answers
40 views

JVM low-memory tuning

What command-line options would provide the lowest memory-footprint JVM, in OpenJDK, or possibly other JVMs (Linux/Debian)? I'm willing to disable JIT, live with slow or choppy garbage collection, ...
2
votes
0answers
64 views

How can I let high priority processes continue when low priority processes are causing free memory to be low

Ok I'm not sure if this is the correct place to post this. It is more of a 'why not' question than a 'how to' one (assumption is that it isn't/can't be done). Why don't we allow RAM to be partitioned ...
2
votes
0answers
97 views

Disk page cache size in Linux for integrity purposes

I am trying to bound corruption in a block-based disk format in the presence of plausible machine failures in a Linux-specific application. That is, the file is read and written in application-defined ...
2
votes
0answers
187 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
3answers
1k views

Linux / JVM - OutOfMemoryError: unable to create new native thread

I have a memory problem with a Linux server (CentOS). It is a VM. Below is the context. It has 70Gb of RAM. There are 2 tomcat running on it. One tomcat is given a heap of 13Gb and the other one a ...