The tag has no usage guidance.

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 ...
29
votes
1answer
27k 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 ...
23
votes
1answer
39k 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 ...
13
votes
6answers
5k 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
276 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
8k 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 ...
9
votes
1answer
6k 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 ...
9
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
3answers
4k 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 ...
8
votes
3answers
4k 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 ...
8
votes
1answer
4k 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
3answers
6k 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
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 ...
7
votes
1answer
1k views

How do I increase the maximum swap space on Mac OS X? [closed]

On Mac OS X Yosemite 10.10.5, when I try to run a calculation that needs to allocate and use 128 GB of memory (it is a command line program written in C), the kernel kills my process with extreme ...
6
votes
2answers
293 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
437 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
328 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
2answers
2k 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 ...
5
votes
1answer
140 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 ...
5
votes
0answers
116 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 ...
4
votes
2answers
457 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
1answer
2k 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", ...
4
votes
1answer
717 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 ...
4
votes
1answer
794 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 ...
4
votes
1answer
230 views

Shared library mappings in /proc/pid/maps

Why does /proc/pid/maps contain a few records for the same library ? Here is an example: 7fae7db9f000-7fae7dc8f000 r-xp 00000000 08:05 536861 ...
4
votes
1answer
123 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
128 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
821 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
956 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
2k 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
302 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
3answers
3k 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 ...
3
votes
4answers
2k 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 ...
3
votes
2answers
85 views

C++ app. with mmap kills kernel? (kernel panic with mmap)

In my C++ program where intensive disk, network I/O and even CPU computation occur, I am using memory mapped region as an array. With very small data, it works fine. However when I ran the program ...
3
votes
2answers
293 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
48 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
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
23 views

How does Linux manage “simultaneous” writes to swap/disk partitions in virtual memory?

I'm currently working on an educational operating system called Pintos. While implementing virtual memory, one of the issues that I'm having is writing data to swap in a page fault that happened while ...
3
votes
1answer
134 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
3answers
2k 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 ...
3
votes
1answer
369 views

Accessing Memory Mapped I/O is slow

I have a Terasic-SoCKIT(fpga & arm cortex a9) and I have Linux running on the HPS. I'm trying to access the memory mapped I/O, wrote a simple character driver with functions "request_mem_region" ...
3
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. ...
3
votes
1answer
95 views

FDT relocated by U-Boot cannot be accessed by Linux (in highmem)

We run a customized version of U-Boot on an ARM-based embedded system and would like to load Linux 4.3 with a device tree blob. The system features 1GB of RAM of which the top 128MB are reserved for ...
3
votes
0answers
376 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 ...
3
votes
3answers
2k views

Discrepancy between reported used memory and sum of application memory usage

I'm running a desktop system that quite regularly suffers from lack of memory, this prompted me to investigate what causes the issue in the first place. Problem is, there's no single process that ...
2
votes
3answers
22k views

Actual memory usage of a process

The following are the memory usage of mysql and apache respectively on my server. As per the output of pmap say, mysql is using about 379M and apache is using 277M. [root@server ~]# pmap 10436 | ...
2
votes
1answer
446 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
125 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
2k 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
1answer
2k 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 ...