What is Copy on Write and where is it used?

Redis bgsave taking a lot of memory. Here is the reason.


In recent times, I was working with Redis clusters which have very high throughput. While doing this we came across a problem which was Redis bgsave was taking a lot of memory sometimes almost as the same memory as the data present in the memory. In this small writeup, we will see why this happened.

What is Copy on Write and where is it used?

What is Copy on Write and where is it used?


Recently while working with one of the databases I came across a method that is widely used by many databases to take a snapshot of the memory into a disk. One of the most famous that you have heard of is Redis. The method is called copy on write. Let’s see what is a copy

System Programming: Basic Copy program in C using low-level IO

System Programming: Basic Copy program in C using low-level IO


In this article, we are going to start learning system programming by first of all creating a copy program like cp using low-level IO functions and not the standard IO functions. Now first let’s see what is system programming and what is low-level IO functions in C. System Programming: System programming aims at producing software

What is eBPF and why is it called a superpower in Linux?

What is eBPF and why is it called a superpower in Linux?


BPF also known as Berkeley Packet Filters was introduced first in 1992 by Steven McCanne and Van Jacobson in their paper The BSD packet filter: A New architecture for user-level packet capture. In this paper, they presented about BPF architecture and how it interfaced with the rest of the system and a new mechanism for

How containers isolate processes using Linux namespaces?

How containers isolate processes using Linux namespaces?


Containers work on the principle of isolating one process running in the container from the process running on hosts or any other container. Let us see how containers isolate processes using Linux namespaces? This is what provide containers to have a fresh runtime for any application irrespective of what other process are running on that

Monitor your unix system resources using HTOP.

What is blackbox monitoring? Automating with bash script


Monitoring is very important when you want your systems to work properly. Monitoring helps you identify the issues while they are happening or before them. So it is very important to implement your monitoring properly. Let’s see what is black box monitoring. Now when you see any issue how you should approach your debugging. First

snat

What are SNAT and DNAT


If you are working as a DevOps you must have heard the name NAT. In this article, we will talk about them and SNAT and DNAT. NAT (Network Address translator) is generally used when you want to hide one side of the network and show it as a single IP. NAT keep a connection table

strace: See what system calls kernel is executing.


In linux environment when you run any piece of code, any application or software. The piece of code actually maps to the some set of instructions in kernel level. To see those instructions that are being executed for that piece of code we can use this tool called strace. We will see what system calls

What is GOROOT and GOPATH. Fixing the problem of go path export

What is GOROOT and GOPATH and how to fix it?


What is GOROOT and GOPATH and the problem of go path export.  I have been through this many times and have seen lot of people struggling to fix this. In this small post I will tell you how to fix this problem. Lets see what is GOROOT and GOPATH? How to install go latest version?

Reverse Proxy Server

Reverse proxy vs forward proxy.


You may have heard the name of proxy servers and what they do. In this part of article we will be talking about the difference between reverse proxy server and forward proxy server. Why are they used and how you can setup a proxy server. Lets see Reverse proxy vs forward proxy. Forward Proxy Server: Forward