Linux System Load Average
YouTubeLinkedInTwitterFacebook

How to Calculate Linux System Load Average in percentage

Understanding Key CPU Metrics:

1. CPU Usage Percentage

2. Load Average

3. Context Switches

4. CPU Time Breakdown

5. Interrupts Per Second

Important key Metrics of the script:

Fetching Load Averages: 

Determining CPU Cores:

Calculating Percentages:

Important Note:

Linux System Load Average bash script:

#!/bin/bash

#Author: virtualnetworkingconcept.com


# Get the CPU load averages

load_avg_1min=$(uptime | awk -F'load average: ' '{print $2}' | cut -d ',' -f1 | tr -d ' ')

load_avg_5min=$(uptime | awk -F'load average: ' '{print $2}' | cut -d ',' -f2 | tr -d ' ')

load_avg_15min=$(uptime | awk -F'load average: ' '{print $2}' | cut -d ',' -f3 | tr -d ' ')


# Get the number of CPU cores

cpu_core=$(nproc)


# Calculate percentages

percentage_1min=$(echo "scale=2; ($load_avg_1min / $cpu_core) * 100" | bc)

percentage_5min=$(echo "scale=2; ($load_avg_5min / $cpu_core) * 100" | bc)

percentage_15min=$(echo "scale=2; ($load_avg_15min / $cpu_core) * 100" | bc)


# Print output in table format

echo "+----------------+--------------+-----------------+"

echo "| Time Intervals | Load Average | System Load (%) |"

echo "+----------------+--------------+-----------------+"

printf "| %-14s | %-12s | %-15s |\n" "1 minute" "$load_avg_1min" "$percentage_1min%"

printf "| %-14s | %-12s | %-15s |\n" "5 minutes" "$load_avg_5min" "$percentage_5min%"

printf "| %-14s | %-12s | %-15s |\n" "15 minutes" "$load_avg_15min" "$percentage_15min%"

echo "+----------------+--------------+-----------------+"

Script Output:

centos# sh linux_load_avg.sh

+----------------+--------------+-----------------+

| Time Intervals | Load Average | System Load (%) |

+----------------+--------------+-----------------+

| 1 minute       | 2.60         | 130.00%         |

| 5 minutes      | 2.56         | 128.00%         |

| 15 minutes     | 1.43         | 71.00%          |

+----------------+--------------+-----------------+

Conclusion: