21 lines
		
	
	
		
			518 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			518 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # Get first snapshot
 | |
| read cpu user nice system idle iowait irq softirq steal guest < /proc/stat
 | |
| total1=$((user+nice+system+idle+iowait+irq+softirq+steal))
 | |
| idle1=$idle
 | |
| 
 | |
| sleep 0.5
 | |
| 
 | |
| # Get second snapshot
 | |
| read cpu user nice system idle iowait irq softirq steal guest < /proc/stat
 | |
| total2=$((user+nice+system+idle+iowait+irq+softirq+steal))
 | |
| idle2=$idle
 | |
| 
 | |
| # Calculate usage
 | |
| total_diff=$((total2 - total1))
 | |
| idle_diff=$((idle2 - idle1))
 | |
| cpu_usage=$((100 * (total_diff - idle_diff) / total_diff))
 | |
| 
 | |
| echo "$cpu_usage"
 |