The /proc filesystem…

To keep things organized let’s ask some questions and try to answer them one by one:

I’d like to start by looking first at the issue of the file System in Linux.

  • The computer saves data to the RAM storage; it may lose the data if it gets turned off. However, non-volatile RAM (Flash RAM and SSD) is available to maintain the data after the power interruption.
  • Data storage is preferred on hard drives compared to standard RAM as RAM costs more than disk space. The hard disks costs are dropping gradually comparatively the RAM.

Linux File System Structure

Let’s move on to / directory(individual high-level directories.)

the proc filesystem, and explains what it has to do with Linux process management.

So, What is the

un the cat command on any of the files in /proc to list the information’ s as per your requirement.

let’s take for example the file:

At the top you see a summary of the most common values people would like to look at. Below you find some of individual values we will discuss:

  • MemTotal: Total usable ram (i.e. physical ram minus a few reserved bits and the kernel binary code)
  • MemFree: Is sum of LowFree+HighFree (overall stat)
  • Buffers: Memory in buffer cache. mostly useless as metric nowadays Relatively temporary storage for raw disk blocks shouldn’t get tremendously large.
  • Cached: Memory in the pagecache (diskcache) minus SwapCache, Doesn’t include SwapCached
  • SwapCache: Memory that once was swapped out, is swapped back in but still also is in the swapfile (if memory is needed it doesn’t need to be swapped out AGAIN because it is already in the swapfile. This saves I/O )
  • Active: Memory that has been used more recently and usually not reclaimed unless absolute necessary.
  • Dirty: Memory which is waiting to get written back to the disk
  • Writeback: Memory which is actively being written back to the disk
  • Mapped: files which have been mapped, such as libraries
  • Slab: in-kernel data structures cache…


address           perms offset  dev   inode   pathname
08048000-08056000 r-xp 00000000 03:0c 64593 /usr/sbin/gpm

Let’s take an example with pid equal to 177037:

cat 177073/maps
The format is:

address perms offset dev inode pathname

Finally, I think that it can be so important to explore your filesystem. So go forth with tree, ls, and cd into uncharted territory then move from one directory to another and take a look around. Soon you’ll discover that the Linux filesystem and how it is laid out really makes a lot of sense, and you will intuitively know where to find apps, documentation, and other resources.

Thanks for reading!



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store