添加 simpleadmin/www/cgi-bin/get_system_stats
add get_system_stats
This commit is contained in:
parent
6cd09c0f10
commit
7a6328f97f
41
simpleadmin/www/cgi-bin/get_system_stats
Normal file
41
simpleadmin/www/cgi-bin/get_system_stats
Normal file
@ -0,0 +1,41 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Send HTTP header for plain text content
|
||||
echo "Content-Type: text/plain"
|
||||
echo ""
|
||||
|
||||
# Read first CPU statistics
|
||||
read cpu user nice system idle iowait irq softirq steal guest guest_nice < /proc/stat
|
||||
|
||||
# Record first total usage time and idle time
|
||||
prev_total=$((user+nice+system+idle+iowait+irq+softirq+steal))
|
||||
prev_idle=$idle
|
||||
|
||||
# Wait for a short time to capture CPU usage
|
||||
sleep 0.5
|
||||
|
||||
# Read second CPU statistics
|
||||
read cpu user nice system idle iowait irq softirq steal guest guest_nice < /proc/stat
|
||||
|
||||
# Calculate second total usage time
|
||||
total=$((user+nice+system+idle+iowait+irq+softirq+steal))
|
||||
idle=$idle
|
||||
|
||||
# Calculate time differences
|
||||
total_diff=$((total-prev_total))
|
||||
idle_diff=$((idle-prev_idle))
|
||||
|
||||
# Calculate CPU usage percentage
|
||||
cpu_usage=$(awk -v total_diff="$total_diff" -v idle_diff="$idle_diff" 'BEGIN{printf "%.1f", (total_diff-idle_diff)*100/total_diff}')
|
||||
|
||||
# Get memory information
|
||||
mem_info=$(free -m | grep "Mem:")
|
||||
mem_total=$(echo "$mem_info" | awk '{print $2}')
|
||||
mem_used=$(echo "$mem_info" | awk '{print $3}')
|
||||
mem_usage=$(awk "BEGIN {printf \"%.1f\", ($mem_used * 100) / $mem_total}")
|
||||
|
||||
# Output results
|
||||
echo "CPU Usage: $cpu_usage"
|
||||
echo "Memory Usage: $mem_usage"
|
||||
echo "Memory Total: $((mem_total * 1024 * 1024))"
|
||||
echo "Memory Used: $((mem_used * 1024 * 1024))"
|
||||
Loading…
Reference in New Issue
Block a user