Understanding the Server Load Metric of Your Server



Server Load metric is one of the server performance metrics that give you insights, to your server’s health and performance, thereby helping to identify and prevent discrepancies. In this article, we will cover all about the Server Load Metric.

What Are Server Performance Metrics?

Server Performance Metrics are measurements that provide insights into the health, efficiency and performance of your processes when the system responds to users requests.  They help you to understand better what’s happening on the server, as well as troubleshoot issues that could be affecting your application performance and user experience. Also known as server-side metrics. They help you drill down deeper and identify the root cause of hardware/software issues so that you can prevent them going forward.


How Do We Measure Server Performance?

Server performance metrics provide required information on how your server resources are being utilized by your applications and associated services. Server monitoring tools enable this process by monitoring these standard server metrics, giving you insights via reports and visualizations.


Understanding The Server Load Metric

Monitoring server load is a crucial task when we are managing a server. Ensuring that  the load isn’t so high will keep the hardware safer and prevent outages and downtime. 


The top command in Linux is a system monitoring tool that provides a dynamic, real-time view of the processes running on a system along with details about resource usage like CPU, memory, and swap usage. The command also shows system load averages, which indicate how busy the system is.

Using And Understanding top Command

Once you’ve just gotten access to your server, you can now check the server load by running the top command. Running the top command will give you a screen similar to the one below.



Top command output, displaying all running services and current system loads.


Key information pieces that can be retrieved are given below.


  • The current time, system uptime, number of users, and load averages.

  • The total number of processes, running processes, sleeping processes, stopped processes, and zombie processes.

  • The percentage of CPU usage by user processes, system processes, idle processes, and waiting processes.

  • The amount of physical memory and swap memory- used and free.

  • The list of processes sorted by a field (default is CPU usage), showing the process ID, user name, priority, nice value, virtual memory size, resident memory size, share memory size, state, percentage of CPU usage, percentage of memory usage, and command name or line.

Upper Section Of Output 

Looking at the top section of the output, as shown below, can reveal key information.


Here System uptime and current logged user count is displayed as the first piece of information within the block and is shown in hours and days along with the current time along with the number of logged users

  • top - 17:11:48 up 36 days, 18:49


  • Load averages for the last 1, 5, and 15 minutes are 0.55, 0.58, and 0.75, respectively.


  • Total tasks and their status are presented as running, sleeping, stopped, and zombie.


Tasks: 417 total, 1 running, 291 sleeping, 0 stopped, 1 zombie


  • The running state means that the process is either executing on the CPU or waiting for the CPU. 


  • The sleeping state means that the process is waiting for some event to occur, such as user input or disk I/O.

  • The stopped state means that the process has been suspended by a signal, such as Ctrl+Z.

  • The zombie state means that the process has terminated but its parent process has not yet read its exit status.


  • CPUs status and activity listed as us, sy, ni, id, wa, hi, si, and st.


%Cpu(s): 0.4 us, 0.8 sy, 0.0 ni, 98.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

  • us: user CPU time (the time spent on user-level processes).

  • sy: system CPU time (the time spent on kernel-level processes).

  • ni: nice CPU time (the time spent on user-level processes with a positive nice value, which have lower priority than normal processes).

  • id: idle CPU time, (the time spent on idle tasks, such as waiting for I/O or other events).

  • wa: I/O wait CPU time, (the time spent on waiting for I/O operations to complete).

  • hi: hardware interrupt CPU time (the time spent on handling hardware interrupts, such as keyboard or mouse input).

  • si: software interrupt CPU time (the time spent on handling software interrupts, such as network packets or signals).

  • st: steal CPU time, (the time spent on involuntary wait by virtual CPUs while the hypervisor is servicing another virtual processor).


  • Memory and Swap usage is displayed with total, free, used, and buff/cached and available memory values. The MiB Mem and MiB Swap sections in the  output show the physical and virtual memory utilization of the system respectively.


  • MiB Mem : 13137467 total, 4606628 free, 28998780 used, 97769264 buff/cache

  • MiB Swap: 4194300 total, 2874364 free, 1319936 used, 10047317 avail Mem

The MiB Mem section has four columns: total, free, used, and buff/cache. 


  1. The total column shows the total amount of physical memory installed on the system.

  2. The free column shows the amount of memory that is not allocated to any process or buffer.

  3. The used column shows the amount of memory that is allocated to processes or buffers.

  4. The buff/cache column shows the amount of memory that is used for caching files or other data for faster access.

The MiB Swap section has four columns: total, free, used, and avail Mem. Swap space is a portion of the disk that is used as an extension of the physical memory when the system runs out of memory. 



  1. The total column shows the total amount of swap space configured on the system. 

  2. The free column shows the amount of swap space that is not in use.

  3. The used column shows the amount of swap space that is in use.

  4. The avail Mem column shows the amount of memory available for starting new applications, without swapping.

Top’s Lower Section Description

Looking at the top section of the top output, as shown below, shows command and services currently running, by which user, and how much load are they adding to the system.


Lower block of the top command displaying a list of running commands and services.


  • PID: The process ID, a unique number that identifies each process.

  • USER: The user name or ID that owns the process.

  • PR: The priority of the process, which determines how much CPU time it gets.

  • NI: The nice value of the process, which affects its priority. A lower nice value means a higher priority.

  • VIRT: The virtual memory size of the process, which includes the code, data, and shared libraries.

  • RES: The resident memory size of the process, which is the amount of physical memory it is using.

  • SHR: The shared memory size of the process, which is the amount of memory it shares with other processes.


  • S: The status of the process, which can be one of the following


  • R: Running or runnable, meaning it is either executing or waiting for CPU time.

  • S: Sleeping or interruptible, meaning it is waiting for an event to complete.

  • D: Uninterruptible sleep, meaning it is waiting for I/O to complete and cannot be interrupted by signals.

  • T: Stopped or traced, meaning it is stopped by a signal or being debugged.

  • Z: Zombie or defunct, meaning it has terminated but its parent process has not reaped it.

  • CPU: The percentage of CPU time used by the process in the last sampling period.

  • MEM: The percentage of physical memory used by the process.

  • TIME: The total CPU time used by the process since it started.

  • COMMAND: The name and arguments of the command that started the process.

Understanding Load Averages Values


Load Average Values

CPUs come in many setups but what we need to know is that it can be a single core or a multi core CPU with the potential capability of hyperthreading. 


When you have more load than available cores, the system gets overloaded and displays delays in response time and ability to serve web pages properly. You could view running processes as explained reasons for high load but also allow you to investigate which and why it is happening.


Conclusion

This is all about Server Load Metric. If you are facing any issue while checking Server Load Metrics feel free to reach us. We are ready to help you.


We know that constantly checking these performance metrics can be a daunting task. At Supportfly we offer Server Management Services packages that will do all the work for you. Our server engineers’ team is 24/7 ready to help you. This allows you the peace of mind of making sure that your hardware is carefully being monitored without having to constantly observe it yourself. As a result, there is less risk of downtime and you save time and energy in the process.


SHARE

Manish Lakhera

Best Server Support Management Company

  • Image
  • Image
  • Image
  • Image
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment