mirror of
https://github.com/exo-explore/exo.git
synced 2025-10-23 02:57:14 +03:00
43 lines
1.3 KiB
Bash
Executable File
43 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Get the total memory in MB
|
|
TOTAL_MEM_MB=$(($(sysctl -n hw.memsize) / 1024 / 1024))
|
|
|
|
# Calculate 80% and TOTAL_MEM_GB-5GB in MB
|
|
EIGHTY_PERCENT=$(($TOTAL_MEM_MB * 80 / 100))
|
|
MINUS_5GB=$((($TOTAL_MEM_MB - 5120)))
|
|
|
|
# Calculate 70% and TOTAL_MEM_GB-8GB in MB
|
|
SEVENTY_PERCENT=$(($TOTAL_MEM_MB * 70 / 100))
|
|
MINUS_8GB=$((($TOTAL_MEM_MB - 8192)))
|
|
|
|
# Set WIRED_LIMIT_MB to higher value
|
|
if [ $EIGHTY_PERCENT -gt $MINUS_5GB ]; then
|
|
WIRED_LIMIT_MB=$EIGHTY_PERCENT
|
|
else
|
|
WIRED_LIMIT_MB=$MINUS_5GB
|
|
fi
|
|
|
|
# Set WIRED_LWM_MB to higher value
|
|
if [ $SEVENTY_PERCENT -gt $MINUS_8GB ]; then
|
|
WIRED_LWM_MB=$SEVENTY_PERCENT
|
|
else
|
|
WIRED_LWM_MB=$MINUS_8GB
|
|
fi
|
|
|
|
# Display the calculated values
|
|
echo "Total memory: $TOTAL_MEM_MB MB"
|
|
echo "Maximum limit (iogpu.wired_limit_mb): $WIRED_LIMIT_MB MB"
|
|
echo "Lower bound (iogpu.wired_lwm_mb): $WIRED_LWM_MB MB"
|
|
|
|
# Apply the values with sysctl, but check if we're already root
|
|
if [ "$EUID" -eq 0 ]; then
|
|
sysctl -w iogpu.wired_limit_mb=$WIRED_LIMIT_MB
|
|
sysctl -w iogpu.wired_lwm_mb=$WIRED_LWM_MB
|
|
else
|
|
# Try without sudo first, fall back to sudo if needed
|
|
sysctl -w iogpu.wired_limit_mb=$WIRED_LIMIT_MB 2>/dev/null || \
|
|
sudo sysctl -w iogpu.wired_limit_mb=$WIRED_LIMIT_MB
|
|
sysctl -w iogpu.wired_lwm_mb=$WIRED_LWM_MB 2>/dev/null || \
|
|
sudo sysctl -w iogpu.wired_lwm_mb=$WIRED_LWM_MB
|
|
fi |