How Much RAM Do You Need in Your Server?

The staggering amount of data being processed on a daily basis has consumers and organizations alike scrambling to keep up with modern technology.  As big data has outstretched its reach everywhere from enterprise-grade datacenters to home offices, it is important they make sure that the computers and servers utilized within an IT infrastructure are capable of processing information efficiently and expediently.  Programs and applications require large amounts of memory resources in order to perform at a level consistent with user expectations and business demands, this is where a system’s RAM is vital.   A server’s central processing unit (CPU) and motherboard also have a role in enabling proficient operating performance, but these components are offered at higher price points and are more difficult to install as often times additional hardware must be upgraded to accommodate these improvements.  Our focus here will be some insight into RAM, its benefits, and how to best determine the amount of RAM needed for a specific application.  

What is RAM? What does it stand for?

RAM, in computing terminology, is the acronym for random access memory. RAM is the component that enables a computer or server to read and write data that is being requested by the computing device.  Memory differs from storage whereby storage retains information for long periods of time, while memory is used to manage data to be quickly read, written, and processed by the central processing unit (CPU).  As a client or user initiates an action on a computer, such as accessing an application or view a video file, the system’s RAM is responsible for providing the resources to perform these read/write requests.  Storage is where the RAM will access data in order to execute the requested task in order to provide the appropriate response.  In simpler terms, the most common analogy made differentiating memory from storage is the comparison of memory to the top of a desk where work is being performed and storage are the drawers under the desktop holding the papers and resources not in use ready for activity when called upon.  Unlike storage, which can be powered on and off without losing data, the information held in RAM is deleted when the system is powered off.  With this understanding of its operation, the more RAM a system has available, the more actions it can address simultaneously and the faster it can perform them. RAM is traditionally categorized as one of two types; volatile and non-volatile memory.  Volatile memory requires constant power in order to sustain the accessibility of information while non-volatile memory (NVM) can still retain data after a system is power cycled or powered on and off.  Widely implemented in the industry as the primary memory for a computer or server, volatile memory has two classification types of either dynamic RAM (DRAM) or static RAM (SRAM).  DRAM chips employ memory cells made up of transistors and capacitors, which store electrons and are recharged by either a CPU or some type of memory controller that reads and writes memory.  This process can happen hundreds and even thousands of times per second, hence the term dynamic.  SRAM employs a different technology of a flip-flop, which is essentially a circuit that holds memory and does not require a recharge making it significantly faster than DRAM.  However, more parts are required to utilize SRAM which increases its cost when compared to DRAM, with the latter being the most widely used in the industry because of its price point. NVM is more commonly used for long-term data retention and is mostly used in hard disk drives (HDD) or flash drives for document and file processing.  

Why is RAM Important?

The use of RAM within a computing system is important because, without it, servers would attempt to access their data from storage, which is impractical and would drastically increase the amount of time needed to accomplish even the simplest of tasks.  In modern computing architectures, properly or improperly deploying and managing the appropriate amount of RAM can have performance benefits or repercussions on the computer or server within the infrastructure. Under-sizing the amount of RAM needed for a system leads to resource bottlenecks that will slow down the operating speed of a machine.  In terms of a desktop computer that has 6GB of available RAM, the operating system (OS) in use can take up to 2GB of that memory just for itself.  As the user begins to open additional programs for email, web browsing, file access, document processing and so on, the system will begin to slow operations or even worse cause a complete crash altogether that may prompt a reboot.  This same approach applies to datacenter servers as well where a high quantity of clients are simultaneously processing large amounts of data or utilizing resource monopolizing applications.  This can drastically decrease performance and potentially lock up a machine when an inefficient amount of RAM is available possibly leading to a reboot, which leads to downtime without the proper redundancy employed to address this problem.    

What are the Different Sizes of RAM?

Modern RAM iterations are mostly sized by gigabyte (GB) with more advanced options offering terabyte (TB) capacities but are commonly found in ranges between 2GB to 32GB.  Data transfer rate, also known as bandwidth, is provided in measurements of millions of transfers per second (MT/s).  Dual inline memory modules (DIMM) can generate speeds ranging from 1066 MT/s to 1866 MT/s with enhanced options providing 2400 MT/s.  Technological adaptions have allowed DRAM various available interface types including multiple double data rate (DDR) versions from DDR1 SDRAM (synchronous dynamic RAM) to most recently DDR4, which provides greatly enhanced data rate transfer speeds and reduced power requirements.  Premio’s FlacheStream product line supports Dual Intel Xeon SP Skylake processors that allow for 2TB of DDR4 memory capacity.  

How Much RAM is Enough?

Knowing how much RAM is needed for a system to efficiently execute its primary function cannot easily be generalized into a simple to read chart that encompasses the needs of every use case.  Users or administrators must first identify the processing needs for their application.  They have to account for memory allocations of the OS in service, commonly used programs, the quantity of client traffic, email clients, antivirus, or hypervisor for VM environments all of which require their own amount of RAM for operation.  Web service clients with sites that are visited daily can expect to employ 1GB of RAM for every 2500 users, so one can approximate how much memory is needed to maintain day-to-day business practices.  The average home end user can probably make due with 6-8GB of RAM depending on their needs, but datacenter infrastructures will need an exponentially higher amount per server based upon the purpose of the device within the system.  RAM hungry activities such as video editing, Photoshop, and web hosting can all require 16-128GB of memory depending on which programs are used along with file types accessed and overall usage. All IT infrastructures and architectures employ numerous variances individualizing each configuration making them unique in their own right.  Understanding the requirements and goals of an application are the most important to quantify and quality in order to determine the best-suited memory solution.  Premio’s state of the art product and service selections are known all over the world for our design, production, and distribution of digital solutions.  We provide industry leading innovative computing strategies for a myriad of global industries. At Premio, we deliver expert and knowledgeable consultation and platform options emphasizing purpose-built servers, display & digital signage solutions, embedded system schemes, and all Flash storage options to address even the most complex architecture challenges.  Please contact us today and to allow our Premio Customer Care Team to begin creating a solution that focuses on the distinctive business computing needs of your specialized application.